关于运维:Python-决定迁移到-GitHub

Python 曾经决定迁徙到 GitHub,尽管有人公开说拥护迁徙到 GitHub,但还是有很多人会在肯定水平上应用 GitHub,而且几位外围的开发者也偏向于抉择 GitHub。Python 在很久之前为了改良其开发工作流程就曾经开展了相干的探讨,开发者比照了解决以后基于Patch的零碎和GitHub的pull requests所需的工夫,发现现有零碎解决一个简略patch须要大概10到15分钟,而拉申请不到1分钟,劣势显著。Python语言之父Guido van Rossum反对此决定,认为泛滥开发者都曾经相熟如何应用GitHub或很容易学会如何应用。这个决定基于三个因素:GitLab 和 GitHub 差异不大外围开发者和内部贡献者都相熟 GitHubGuido 更喜爱 GitHub尽管抉择了 GitHub,但只是作为代码托管和代码审查,issue tracker,wiki 等是不会迁徙到 GitHub。

March 11, 2023 · 1 min · jiezi

关于运维:捷报频传-博睿数据签约华润集团携手共进共创共赢

March 10, 2023 · 0 min · jiezi

关于运维:又一款内存数据库横空出世比-Redis-更强性能直接飙升一倍杀疯了

什么是 KeyDB?KeyDB是Redis的高性能分支,专一于多线程,内存效率和高吞吐量。除了多线程之外,KeyDB还具备仅在Redis Enterprise中可用的性能,例如Active Replication,FLASH存储反对以及一些基本不可用的性能,例如间接备份到AWS S3。 KeyDB与Redis协定,模块和脚本放弃齐全兼容性。这包含脚本和事务的原子性保障。因为KeyDB与Redis开发放弃同步,因而KeyDB是Redis性能的超集,从而使KeyDB取代了现有Redis部署。 在雷同的硬件上,KeyDB每秒能够执行的查问数量是Redis的两倍,而提早却升高了60%。Active-Replication简化了热备用故障转移,使您能够轻松地在正本上调配写操作并应用基于TCP的简略负载平衡/故障转移。KeyDB的高性能可让您在更少的硬件上做更多的事件,从而升高了经营老本和复杂性。在此处查看残缺的基准测试后果和设置信息: https://docs.keydb.dev/blog/2019/10/07/blog-post/走进 KeyDBKeyDB我的项目是从redis fork进去的分支。家喻户晓redis是一个单线程的kv内存存储系统,而KeyDB在100%兼容redis API的状况下将redis革新成多线程。 我的项目git地址: https://github.com/JohnSully/KeyDB网上公开的技术细节比拟少,本文根本是通过浏览源码总结进去的,如有错漏之处欢送斧正。 多线程架构线程模型KeyDB将redis原来的主线程拆分成了主线程和worker线程。每个worker线程都是io线程,负责监听端口,accept申请,读取数据和解析协定。如图所示:KeyDB应用了SO_REUSEPORT个性,多个线程能够绑定监听同个端口。 每个worker线程做了cpu绑核,读取数据也应用了SO_INCOMING_CPU个性,指定cpu接收数据。 解析协定之后每个线程都会去操作内存中的数据,由一把全局锁来管制多线程拜访内存数据。 主线程其实也是一个worker线程,包含了worker线程的工作内容,同时也包含只有主线程才能够实现的工作内容。在worker线程数组中下标为0的就是主线程。 主线程的次要工作在实现serverCron,包含: 解决统计客户端链接治理db数据的resize和reshard解决aofreplication主备同步cluster模式下的工作链接治理在redis中所有链接治理都是在一个线程中实现的。在KeyDB的设计中,每个worker线程负责一组链接,所有的链接插入到本线程的链接列表中保护。链接的产生、工作、销毁必须在同个线程中。每个链接新增一个字段 int iel; /* the event loop index we're registered with */  用来示意链接属于哪个线程接管。 KeyDB保护了三个要害的数据结构做链接治理: clients_pending_write:线程专属的链表,保护同步给客户链接发送数据的队列clients_pending_asyncwrite:线程专属的链表,保护异步给客户链接发送数据的队列clients_to_close:全局链表,保护须要异步敞开的客户链接分成同步和异步两个队列,是因为redis有些联动api,比方pub/sub,pub之后须要给sub的客户端发送音讯,pub执行的线程和sub的客户端所在线程不是同一个线程,为了解决这种状况,KeyDB将须要给非本线程的客户端发送数据保护在异步队列中。 同步发送的逻辑比较简单,都是在本线程中实现,以下图来阐明如何同步给客户端发送数据:如上文所提到的,一个链接的创立、接收数据、发送数据、开释链接都必须在同个线程执行。异步发送波及到两个线程之间的交互。KeyDB通过管道在两个线程中传递音讯: int fdCmdWrite; //写管道  int fdCmdRead; //读管道  本地线程须要异步发送数据时,先查看client是否属于本地线程,非本地线程获取到client专属的线程ID,之后给专属的线程管到发送AE_ASYNC_OP::CreateFileEvent的操作,要求增加写socket事件。专属线程在解决管道音讯时将对应的申请增加到写事件中,如图所示:redis有些敞开客户端的申请并非齐全是在链接所在的线程执行敞开,所以在这里保护了一个全局的异步敞开链表。 锁机制KeyDB实现了一套相似spinlock的锁机制,称之为fastlock。 fastlock的次要数据结构有: struct ticket { uint16_t m_active; //解锁+1 uint16_t m_avail; //加锁+1 }; struct fastlock { volatile struct ticket m_ticket; volatile int m_pidOwner; //以后解锁的线程id volatile int m_depth; //以后线程反复加锁的次数 }; 应用原子操作__atomic_load_2,__atomic_fetch_add,__atomic_compare_exchange来通过比拟m_active=m_avail判断是否能够获取锁。fastlock提供了两种获取锁的形式: try_lock:一次获取失败,间接返回lock:忙等,每1024 * 1024次忙等后应用sched_yield 被动交出cpu,挪到cpu的工作开端期待执行。在KeyDB中将try_lock和事件联合起来,来防止忙等的状况产生。每个客户端有一个专属的lock,在读取客户端数据之前会先尝试加锁,如果失败,则退出,因为数据还未读取,所以在下个epoll_wait处理事件循环中能够再次解决。 Active-ReplicaKeyDB实现了多活的机制,每个replica可设置成可写非只读,replica之间相互同步数据。次要个性有: 每个replica有个uuid标记,用来去除环形复制新减少rreplay API,将增量命令打包成rreplay命令,带上本地的uuidkey,value加上工夫戳版本号,作为抵触校验,如果本地有雷同的key且工夫戳版本号大于同步过去的数据,新写入失败。采纳以后工夫戳向左移20位,再加上后44位自增的形式来获取key的工夫戳版本号。文档https://docs.keydb.dev/docs/commands感激浏览,心愿对你有所帮忙 :) 起源:又一款内存数据库横空出世,比 Redis 更强,性能间接飙升一倍!

March 10, 2023 · 1 min · jiezi

关于运维:直播回顾聚焦科技自立自强Bonree-ONE-助力国产办公自动化平稳替代

3月5日,两会公布《政府工作报告》,强调科技政策要聚焦自立自强。 统计显示,2022年金融信创项目数同比增长300%,金融畛域信创建设以后已进入倒退暴发期,由国有大型银行逐步向中小型银行、非银金融机构一直扩大。信创云、OA是以后金融信创的建设重点,为国产科技翻新注入新的生机,也带来了全新的挑战。 博睿数据联结统信软件同心生态联盟推出“匠心智课云课堂”《金融信创利用实际分享》直播,博睿数据资深售前总监杨雪松带来《一体化智能可观测平台助力国产办公自动化安稳代替》的演讲,带来行业洞察与解决方案的分享:扫描二维码,立刻取得本次直播材料 国产办公软件安稳代替遇窘境随着办公软件市场的持续增长,实现国产办公自动化安稳代替成为以后实现企业自立自强的焦点之一。面对APP奔溃卡顿、数据无奈残缺显示等问题,如何高效低成本发现问题所在,全面晋升产品性能,成为以后市场刚需。 博睿数据解决方案助力晋升国产办公软件性能博睿数据提出两大解决思路,实现全渠道用户体验监控治理: 一、 模仿用户监测:通过模仿用户行为,对国产办公软件应用进行网络监测、利用监测、用户体验监测、协定监测、短信监测等方面的集中监测,能够为客户技术部门和业务部门提供更精准的数据指标。博睿数据领有遍布海内外监测节点,IDC节点国内200+,海内300+,PC端国内会员20万+,海内400+,实在手机设施15000+,私有云拨测节点100万+,同时反对客户定制化部署公有节点,帮忙客户通过被动拨测实现产品监测。二、 实在用户监控:通过对理论产生的用户数据进行监测,记录全副用户前端所有动作,背靠代码级调用辨认问题,以一体化端到端的全栈监控,实现智能告警与根因剖析,将为产品的进一步优化提供牢靠根据。Bonree ONE作为国内首个真正实现智能运维的一体化智能可观测平台,赋能国产办公软件大幅升高MTTR,进步MTBF,为用户提供完满的数字化体验的同时,无效晋升产品外围竞争力。 Bonree ONE助力企业业务晋升不仅是DEM,以后Bonree ONE曾经笼罩了包含ITIM、NPM、APM、DEM全面的监控能力,反对包含传统ETL、国内数据规范Opentelemetry、Prometheus Open Metric等各类异构数据的接入,集成输入对立可观测数据。利用独家无监督常识图谱根因剖析能力,能够满足异样检测、根因剖析、智能告警等多种需要。在实现开箱即用的同时,缩小算力资源利用,升高企业老本,让业余的运维平台不仅能为大公司所用,更能够笼罩中小企业,帮忙他们实现业务晋升。 博睿数据专一赋能企业数智转型15年,领有17项发明专利,111项软件著作权与27项核心技术,IDC调研指出国内APM市场份额第一,Gartner指出博睿数据是国内惟一同时具备APM和AIOps能力的厂商,同时也是信通院AIOps能力成熟度测评根因剖析惟一优良级厂商。 构建国产信创生态博睿数据在口头目前,博睿数据已取得包含中科曙光、达梦数据等泛滥出名国内支流厂商的兼容性适配证书,获56项信创认证,涵盖国产数据库、整机、中间件、CPU、操作系统。同时,负责信创工委会WG21APM组组长、AIOPS副组长,并退出证券基金行业信创联盟、同心生态联盟、光合组织等,与成员单位在信创畛域发展多维度单干,为企业级利用提供全面保障,独特打造以国产利用为外围的自主软硬件新生态。

March 10, 2023 · 1 min · jiezi

关于运维:从新手小白到运维大咖SysOM-多场景宕机实例解析-龙蜥技术

文/刘馨蔚,零碎运维 SIG Contributor “老板老板,明天业务又产生了抖动,具体起因临时还不能疾速查清,再给我点工夫吧。” “老板老板,这个问题我如同解过,然而也不太确定,我再从新剖析一次吧。” “老板老板......” 不晓得你们或者身边的人是不是也遇到过这个问题:服务器无端重启,造成业务抖动,然而不晓得具体产生了什么;明明剖析过的问题然而又不能确定是否是同一个问题;无奈感知集群的健康状况,无奈及时被动地运维。这些问题不仅会影响业务,投入过多的运维人力,无奈积淀已有的运维教训。下文将会从多个场景来展现宕机核心的利用场景。 01 场景 1:运维人员理解集群宕机情况当产生业务中断、不相应等突发状况时,咱们能够通过宕机核心查看以后机器是否存在宕机以及历史宕机,能够疾速精确地与现有的业务异样进行关联,同时及时地进行被动运维,缩小投入过多人力的排查和工夫。宕机核心将会检测并实时收集宕机,及时上报展现到宕机核心首页便于运维人员发现、上报和解决问题。如下图所示,宕机核心的首页除了展现已产生的宕机列表外,还提供了集群的宕机指标和宕机列表信息,其中包含外围指标、总宕机列表和总览集群的宕机情况。使用者能够疾速直观地观测到集群的宕机状况,疾速理解集群内机器的衰弱状况。 02 场景 2:老手小白都能看懂的宕机详情与主动关联解决方案从宕机列表中点击查看某次宕机的宕机详情,将会跳转至宕机详情页面。 宕机详情能为运维新手甚至小白提供能看懂的宕机信息,通过 SysOM 后盾主动剖析后,在页面展现与以往历史调用栈雷同的宕机、宕机的工夫、宕机的主机和主机要害信息、宕机的要害函数和运行的过程,硬件宕机还是软件宕机等信息。同时还提供能够在线剖析 vmcore 的网页,不便间接快捷地剖析问题。 值得一提的是,宕机核心提供了一整套解决方案的管理系统,即便不会剖析宕机,也可能疾速查看曾经关联的解决方案。使用者可通过宕机详情页面的“录入解决方案”按钮来对计划的录入。使用者通过剖析宕机后能够将相干的解决方案录入并与某个宕机关联,不仅不便日后查看而且能够记录积淀这个解决方案,当类似宕机产生时后盾会运行宕机类似匹配的算法,主动关联到类似宕机的解决方案。 03 场景 3:运维新手可通过调用栈查问历史的宕机如果当整个集群的宕机变多后,如何除了利用一些主机名等要害信息来对宕机进行筛选呢?SysOM 宕机核心提供通过调用栈来反向搜寻已产生的宕机,这种状况可能产生在查问一台不在 SysOM 管控集群机器的宕机调用栈是否也呈现在管控集群的宕机中,或者能够是运维人员想要通过调用栈来间接查找历史宕机。 点击题目上的宕机剖析->宕机匹配后跳转到宕机匹配的页面。宕机匹配次要提供了匹配类似宕机的性能,在类似调用栈的文本框中输出某次宕机的要害调用栈,将会和现有历史的宕机进行类似匹配。 如下输出了内核的宕机调用栈后将会在集群内已产生的宕机中搜寻类似的宕机,并且给出类似度: 04 场景 4:疾速匹配上游社区的问题尽管 SyOM 提供了一整套解决方案的管理系统,并且雷同宕机产生后会主动关联到之前已有宕机的解决方案,然而这套管理系统最开始是没有任何知识库的,须要运维人员剖析后,录入知识库一直地积攒知识库。为此 SysOM 特有地提供了一种疾速匹配上有社区宕机解决方案的办法,在没有任何已知积淀知识库的状况下也能疾速匹配上游社区已知宕机问题的解决方案,同时能够讲匹配到的计划积淀到本人的知识库中。 例如产生了一个宕机后呈现了如下的宕机日志: [70918341.089708] BUG: unable to handle kernel NULL pointer dereference at (null) [70918341.098547] IP: [<ffffffffxxxxxxxx>] ovl_cleanup+0x2x/0xd0 [overlay] ... [70918341.372226] Call Trace: [70918341.375674] [<ffffffffxxxxxxxx>] ovl_cleanup_whiteouts+0x7x/0xd0 [overlay] [70918341.383698] [<ffffffffxxxxxxxx>] ovl_clear_empty+0x2x/0x2e0 [overlay] [70918341.391336] [<ffffffffxxxxxxxx>] ovl_check_empty_and_clear+0x7x/0x90 [overlay] ...

March 9, 2023 · 1 min · jiezi

关于运维:云智慧ITSM产品助力企业有效实现降本增效

企业实现降本增效背景与痛点现如今,随着各行业数字化转型的一直推动以及 IT 零碎建设的继续深刻,IT 运维作为撑持企业实现数字化建设的要害伎俩,未然成为了各行业的着重关注点。然而,传统 IT 运维管理模式曾经无奈满足企业日益增长的多样化高质量业务需要,企业通过 IT 运维治理无效实现降本增效,以此胜利实现数字化转型,次要面临着以下痛点与挑战: 无奈体现企业 IT 部门工作价值。企业 IT 运维人员为了企业零碎的稳定性和更新,在背地默默地解决了很多紧急故障,从早到晚不停“接客”,稍有不慎就被投诉,活没少干、气没少受、评绩效还没根据,最终导致整个企业IT部门的工作产出价值没有方法体现,部门管理者汇报难。 外部没有一套规范的IT服务治理流程和标准IT外部没有标准化事件治理、问题治理、变更治理等服务流程。一线人员次要依附电话或邮件来解决日常的桌面问题,效率低。二线人员不足对立的服务治理平台,无奈跟踪问题,三线人员在书写实施方案、具体实施打算,进行施行和测试工作中,无奈失去及时通报进度。 常识没有积淀繁琐且反复的工作,是影响效率的杀手。日常的工单记录、客服问答中蕴涵着大量可积淀、可被复用的常识,这些常识没有被无效的结构化梳理进去。企业日常运维工作因为没有可参考的历史数据,也没有过往常识文档的积淀。当呈现问题时,仅在排查起因上就要破费大量工夫,导致整体工作效率升高。 无奈升高企业IT部门老本企业经营者心愿升高企业治理老本,晋升企业效率,促成各部门的联动和倒退。IT部门作为老本核心,最能体现价值的就是资源投入的逐年缩小,或者比拟无效地克制线性老本增长。大部分企业因短少智能化、自动化的运维工具,导致在人力老本、工夫老本上的破费增多。 企业运维经营治理降本增效的利器通过重点剖析企业在降本增效过程中面临的痛点与挑战,云智慧推出了新一代 ITSM 工具,真正地帮忙企业更新本身 IT 服务管理模式。云智慧 DOSM 领有的知识库、智能助理、工单治理通过为企业建设了良好的 IT 运维环境,从而保障企业更加无效地实现降本增效和业务的久远倒退。 工单治理工单治理提供扁平化的工作合作形式,让企业外部信息更加透明化,放慢了信息的传递速度,从而进步了问题沟通的效率。此外,DOSM 零碎内置了多种场景的工单与流程模版,不便企业疾速上手应用,同时反对工单的主动创立、主动执行、主动指派以及主动委托性能,在标准企业员工日常工作的同时,实现工单的及时处理。 工单主动创立企业员工能够对曾经确认的例行工作,进行每天、每周、每月等固定周期性主动创立工单动作,以此缩小重复性工作,进步工作效率。 工单主动执行在工单的流程自动化设置中,企业员工能够通过触发器执行自动化动作,包含实现工单主动确认、主动填写等各种业务场景。 工单主动指派反对负载平衡以及解决范畴内循环两种指派模式,均衡人员负载,保障工单解决的时效。 循环模式:循环模式会给解决人员范畴组内的成员进行主动指派,是采纳顺次循环形式进行指派,保障工单的平均分配。负载平衡模式:负载平衡模式是指依据以后成员组内成员手上正在解决工单的数量进行主动指派,保障工单能及时处理。 工单主动委托当企业员工因客观原因无奈及时处理工单时,此时便能够将一段时间内的工单委托给别人解决,进步工单解决效率。 部门工单监控云智慧DOSM能够实现对企业部门和组内工单的全生命周期进行跟踪和治理,帮忙企业员工及管理人员随时理解工单的状态,保障工单按时执行,进步整体工作和服务效率。 挪动解决工单DOSM反对用户通过挪动端拜访智能客服和在线服务台,反对用户自助提交工单、查问工单解决进度,使得用户能够随时随地获取到IT服务。 点击链接,马上收费体验DOSM 常识积淀与利用企业在高速倒退的过程中,工单的记录、客服的问答、会话记录等内容,都能够转成结构化的常识于解决方案积淀到知识库中去,帮忙企业在不同期间,实现常识从前到后的传递,并反哺业务体系 用户通过知识库检索相干常识。通过智能机器人问答的形式获取问答常识。自助提单时,主动举荐相干常识。IT服务人员通过知识库检索相干常识,服务台坐席依据聊天内容举荐常识,工单处理过程中依据工单内容举荐常识。 智能助理智能助理利用自然语言辨认技术帮忙坐席精准辨认用户需要,不便坐席疾速回复用户问题。此外,弱小的问答知识库也能够解决用户常见问题,极大地缩小了坐席的工作量,升高了企业人力老本以及工夫老本,进步了企业运维的工作效率。 随时随地疾速响应云智慧提供的智能助理为企业坐席人员赋能,实现7*24小时及时高效的客户服务,晋升服务效率,升高企业用人老本,为用户带来更加便捷的贴心体验。 智能交互提高效率智能助理采纳自然语言辨认技术,用户即便应用的是简略的书面语交换,智能助理也能主动补全那些句子之间“没有说进去的潜台词”,最终了解其中粗浅的含意,以此帮忙进步企业员工服务效率。此外,智能助理还反对企业员工自行配置对话流程,针对简单的问题能够与用户进行多轮交互,满足简单的工作型问答场景。 问答知识库云智慧运维知识库能够同步至智能助理问答知识库,从而帮忙智能助理进行训练,领有更细颗粒度的常识存储,以此在晋升运维畛域问答准确率的同时,进步与用户的会话效率。 可视化监控服务台服务过程追溯云智慧服务台能够对企业会话记录、坐席以及排队状况进行实时监控,帮忙企业治理过程更加通明,以此保障企业员工的服务效率与品质,从而进步用户体验度。 可视化驾驶舱可视化的形式展现企业的实时工单看板,帮忙企业管理层或者经营人员实时理解企业工单的整体状况,及时发现问题,优化治理及服务流程,进步整体运维效率。客户价值在应用DOSM之前,客户的工单数量无奈统计,无记录可追溯、只能从OA、邮件等进行记录和统计。过程常识无奈造成无效积淀。当初客户通过DOSM标准了IT服务流程,并通过变更日历、工单自动化、知识库等性能来辅助IT服务人员工作,客户所有合作的团队须要将排查过程和后果记录全副填写在工单上,避免出现推卸责任相互推卸的景象。进步了问题解决效率,并且升高运维老本。 从IT部门视角看,DOSM用数据量化了IT服务人员的工作状况和工作成果,并提供多维度的数据分析性能,为服务人员考核和工作流程的继续改良和提供无效根据,实现精细化治理,晋升IT部门价值。 点击链接,马上收费体验DOSM

March 9, 2023 · 1 min · jiezi

关于运维:K8S-性能优化-大型集群-CIDR-配置

前言K8S 性能优化系列文章,本文为第三篇:Kubernetes 大型集群 CIDR 配置最佳实际。 系列文章: 《K8S 性能优化 - OS sysctl 调优》《K8S 性能优化 - K8S APIServer 调优》CIDR 配置在装置大型集群或将现有的集群扩大到较大规模时,在装置集群设置集群网络 cidr 时,如果集群的节点数超过 500 个,则可能无奈应用罕用的集群网络 cidr /14(这里假如的是一个 Node 的 hostPrefix 是 /23,那么实践上机器超过 512 台,集群网络 IP 就不够用了)。在这种状况下,必须将其设置为 /12 或 /10,以反对超过 500 个节点的环境。 具体阐明前提:Overlay 网络 假设 1 个 Node 上 hostPrefix 是 /24,那么这台机器实践上有 254 个 pod IP。 集群网络 cidr 是 /21, 实践上集群最多 8 台机器;集群网络 cidr 是 /20, 16 台;.../18, 64 台;/17, 128 台;/16, 256 台;/15, 512 台;假设 1 个 Node 上 hostPrefix 是 /23,那么这台机器实践上有 510 个 pod IP。 ...

March 9, 2023 · 1 min · jiezi

关于运维:华为云的认证值不值得考考试内容难不难

科学技术的倒退会带来工业革命,给人类社会带来微小的改革,而每次工业革命的产生会让世界格局产生大变动,当初为了可能追赶上外国,国家正在大力发展新兴的信息通信技术,而除了能够在院校学习之外,很多互联网厂商也设立了本人的人才认证体系。 华为云作为目前国内排名第二的云计算厂商,证书受认可度是十分高的,获取证书后不仅能够取得在华为任职的机会,还能够优先被华为的合作伙伴企业录取。考试内容,每个方向都不同,考生能够依据本人须要的来抉择。华为云HCIP云计算认证 1、考试内容 笼罩华为服务器虚拟化介绍、计算虚拟化技术、网络虚拟化技术、存储虚拟化技术、服务器虚拟化产品运维和故障解决、桌面云解决方案介绍、桌面云架构、链接克隆和残缺复制桌面概念及发放、桌面云零碎运维、桌面云系统故障解决等知识点。 2、考试地点考生须要在官网上查问当地的考场进行预约,在规定考试工夫带来时,返回考试核心进行考试 3、考试工夫考试的全副时长90分钟,考生须要在规定工夫内实现考试。 4、考试题型单选题、多选题、判断题、填空题、拖拽题 5、及格分数考试满分1000分,达到600分就能够通过 6、考试费用考试须要300美金,认证大使(STKJ-009 )有优惠报名券、题库,有须要的能够分割。

March 8, 2023 · 1 min · jiezi

关于运维:博睿她力量-这份专业值得信赖

March 8, 2023 · 0 min · jiezi

关于运维:K8S-实用工具之六kubectlaliases

开篇 引言: 磨刀不误砍柴工工欲善其事必先利其器第一篇:《K8S 实用工具之一 - 如何合并多个 kubeconfig?》第二篇:《K8S 实用工具之二 - 终端 UI K9S》第三篇:《K8S 实用工具之三 - 图形化 UI Lens》第四篇:《K8S 实用工具之四 - kubectl 实用插件》第五篇:《K8S 实用工具之五-komposeahmetb/kubectl-aliases就是一大堆的 kubectl alias,目标就是省下敲一长串 kubectl 命令的工夫。 地址在这里:ahmetb/kubectl-aliases 示例例如: alias ksysgdepwslowidel='kubectl --namespace=kube-system get deployment --watch --show-labels -o=wide -l'残缺的有多少呢,近 800 多个...... 以下只是一小部分: alias k='kubectl'alias kg='kubectl get'alias kgpo='kubectl get pod'alias ksysgpo='kubectl --namespace=kube-system get pod'alias krm='kubectl delete'alias krmf='kubectl delete -f'alias krming='kubectl delete ingress'alias krmingl='kubectl delete ingress -l'alias krmingall='kubectl delete ingress --all-namespaces'alias kgsvcoyaml='kubectl get service -o=yaml'alias kgsvcwn='kubectl get service --watch --namespace'alias kgsvcslwn='kubectl get service --show-labels --watch --namespace'alias kgwf='kubectl get --watch -f'...残缺列表看这里 ...

March 8, 2023 · 1 min · jiezi

关于运维:必示说第五篇政策驱动金融行业IT运维智能化升级

随着互联网与信息技术的疾速倒退,以及银行、证券、保险等企业数字化转型逐步深刻,零碎规模以及运维相干的数据量和指标量成倍增长,传统的运维形式曾经逐步适应不了当下的运维环境和需要,IT运维面临的是海量、高速、多源多模态、高价值但信噪比低的数据,智能运维是大势所趋。近年来,国家层面接连出台了《“十四五”布局》《“十四五”数字经济倒退布局的告诉》等多项政策助力数字经济倒退。同时,在银行、券商、保险等金融畛域,陆续出台了一系列文件政策,表明在将来一段时间内,数智化转型将是金融行业高质量倒退的重要根底和重点方向,《必示说》第五期,咱们收集并整顿了一些疏导金融行业智能运维倒退的政策文件,心愿能够对金融行业IT运维从业人员提供便当。 证券公司网络和信息安全三年晋升打算(2023-2025)(征求意见稿)《证券公司网络和信息安全三年晋升打算(2023-2025)》由中国证券业协会组织起草的,并于1月6日开始向券商征求意见。《打算》提出建设科学合理的科技投入机制,加大科技资金投入,并激励有条件的公司2023-2025三个年度信息科技均匀投入金额不少于上述三个年度均匀净利润的8%或均匀营业支出的6%。 《打算》在IT运维畛域提出了“夯实零碎运行保障能力”的次要工作,具体从运维畛域的信息系统高低线治理、信息系统变更危险管控、系统故障发现能力晋升、事件预警及处理效率进步、应急相应管理机制、容量与性能治理、重要信息系统备份能力七个方面给予了领导,相干内容如下: 三、次要工作(五)夯实零碎运行保障能力 1、增强信息系统高低线治理。 组织对重要信息系统上线的业务流程合规性、权限设置清晰度、对其它业务的影响、测试遗留问题对系统上线后的影响等方面进行全面评估。对重要信息系统的备份能力要求、信息安全防护措施、测试报告、验收报告、危险评估报告、应急预案、零碎运维非性能需要以及上线计划等运维方面进行全面评估。在零碎上线时亲密关注业务运行状况,做好业务保障工作。使用技术手段发展重要信息系统下线的技术和业务影响评估,制订残缺的零碎停用和数据迁徙保存计划,并组织评审及进行零碎停用后的安全检查。 2、全面管控信息系统变更危险。 增强信息系统变更危险的管控,采取适合的技术手段,精确识别系统变更的关联关系,充沛评估变更影响,晋升变更危险评估全面性。晋升运维自动化能力,踊跃使用继续公布、容器以及相干的运维自动化技术,实现重要信息系统变更的标准化、自动化和平台化,无效管制生产环境的变更操作权限,升高人员变更操作危险。重要信息系统组件的自动化公布比率不低于 40%,公布失败后具备版本的疾速回退能力。继续欠缺变更管理机制,制订变更实施方案、变更影响剖析、应急回退计划、业务验证等重要环节的落地要求,通过工具平台予以固化,并引入变更品质度量体系,欠缺零碎变更前后的品质评估,对测试过程、变更过程进行无效评估和继续优化。 3、继续晋升信息系统故障发现能力。 建设全面笼罩业务、利用、底层基础架构和基础设施的信息系统运行监测体系,并继续欠缺,一直晋升运行监控的覆盖度。应建设对立的告警平台,与多种专业化监控工具实现联动,造成一体化运维监控平台,并建设告警的对立汇聚、分派告诉和处理流程体系,继续发展告警的剖析经营,晋升监控告警的全面性、准确性、及时性。激励有条件的证券公司积极开展运维大数据和智能化运维工具平台建设,引入指标异样检测、日志异样检测、告警收敛、全链路调用追踪、根因剖析等监控和智能故障发现和定位伎俩,一直晋升信息系统的故障预防和故障发现能力。 4、全面提高事件预警及处理效率。 建设一二三线的专业化团队协同分工机制,明确岗位分工,强化岗位职责。继续欠缺事件管理制度,标准事件的处理流程,造成笼罩故障的预警、报告、处理、复盘等残缺的闭环治理。不断完善故障应急预案,建设告警故障处理常识管理机制。激励有条件的证券公司建设和晋升应急处理预案的自动化能力,进步故障研判和疾速处理效率,晋升故障自愈能力。踊跃使用运维自动化、混沌工程等技术手段,发展预案治理平台建设,对重要信息系统的应急处理预案进行线上化治理,实现应急处理预案的标准化和自动化。同时,通过增强日常演练,建设并继续更新应急预案场景库,一直晋升预案场景的覆盖度和自动化处理比率。 5、健全组织级应急响应管理机制 。 建立健全自上而下、协同联动、高效无力的应急治理和舆情管理机制,进步应急治理和舆情管理水平,实现信息运行的实时舆情监控,并依据应急组织架构,压实各部门应急处理责任。增强应急决策、受权、舆情应答和技术应答能力,建设疾速响应机制,晋升应急的组织、调度协调能力。激励有条件的证券公司建设平台化的信息系统故障指挥与合作零碎,将应急响应处理流程和预案场景落地至平台,疾速主动建设适合的应急联系沟通渠道,应急预案和应急处理过程全面线上化、可视化,进步故障的应急协同处理效率。 6、做好信息系统容量与性能治理。 联合信息科技策略倒退布局及现有资源,建设信息系统容量评估机制,做好容量布局,定期组织对信息容量进行评估。继续发展重要信息系统容量与性能测试和评估,使用全链路性能压测、数据建模、生产容量水位观测等多种形式,建设容量基线,确保重要信息系统容量满足业务须要。充分利用运维大数据、人工智能等技术手段,继续采集信息系统的运行数据,建设迷信、可预测的信息系统容量模型,无效反对信息系统容量的弹性治理,为零碎运行的继续降本增效提供无效的数据撑持,晋升基础设施资源的整体利用率。 7、欠缺重要信息系统备份能力。 制订信息系统备份管理策略,建设数据防丢、防删的权限管控机制和技术手段,晋升重要信息系统的备份管控能力建设。激励有条件的证券公司发展数据备份服务平台化建设,实现备份数据全生命周期的标准化、自动化和线上化治理,优化备份有效性的验证伎俩,实现零碎数据和利用备份、复原和验证全过程的平台化、数字化和可视化治理。 金融科技倒退布局(2022-2025)《金融科技倒退布局(2022-2025)》是中国人民银行编制的第二轮金融科技倒退布局,是根据《中华人民共和国国民经济和社会倒退第十四个五年布局和2035年近景指标大纲》制订。《布局》提出了“十四五”期间金融科技倒退愿景,明确金融科技倒退的指导思想和4个根本准则、6个倒退指标,确定了8项重点工作和5项保障措施。 《布局》在“第三节 打造信息数字基础设施中提出了”建设绿色高可用数据中心”, 包含架设平安泛在的金融网络,布局先进高效的算力体系,进一步夯实金融翻新倒退的“数字底座”等,蕴含了对金融企业在IT运维畛域具体的领导,相干内容如下: 第三节 打造新型数字基础设施(八)建设绿色高可用数据中心 综合功能定位、取土散布、网络通讯、电力保障等统筹规划数据中心,建设资源更平衡、供应更麻利、运行更高效的金融信息基础设施,依照零碎、机房、城市等容灾指标,踊跃采纳多活冗余技术构建牢靠、多层级容灾体系,满足日常生产、同城灾备、异地容灾、极其条件能力顾全等需要晋升金融数据中心纵深防御能力,逐步形成更高可用数据中心格局。建立健全金融数据中心智能化运维机制,深入主动传感器、巡检机器人等新一代人机交互技术在数据中心运维利用,增强多场景协同联动、多节点一体管控,晋升节点感知、异样发现和故障预测能力,升高人工操作危险,推动运维管理模式转型降级。踊跃利用绿色节能技术和清洁可再生能源,放慢数据中心绿色化建设与革新,增强能耗数据检测与治理。新疆大型、超大型数据中心电能利用效率不超过1.3。到2025年,数据中心电能利用效率广泛不超过1.5。 对于银行业保险业数字化转型的领导意见《对于银行业保险业数字化转型的领导意见》由中国银行保险监督管理委员会2022年1月下发。《意见》描述了从2022年到2025年全面推动银行业和保险业数字化转型“路线图”,要求“到2025年,银行业保险业数字化转型获得显著功效”,这与中国人民银行印发《金融科技倒退布局(2022-2025年)》工夫点统一。 《意见》在“科技能力建设”中提出了” 加大数据中心基础设施弹性供应”, 从优化数据中心布局、放慢构建自动化运维体系、对立监控平台、进步运维侧研发能力,以及数据中心绿色转型等方面提出了银行业和保险业IT运维畛域的领导意见,相干内容如下: 五、科技能力建设(十八)加大数据中心基础设施弹性供应 优化数据中心布局,构建多核心、多活架构,进步基础设施资源弹性和继续供应能力。放慢构建面向大规模设施和网络的自动化运维体系,建设“前端敏态、后端稳态”的运行模式,推动基础设施虚拟化、云化治理。建设对信息科技资源全方位笼罩的对立监控平台。进步运维侧研发能力,踊跃使用大数据增强态势感知、故障预警和故障自愈,一直进步运维智能化程度。踊跃推动数据中心绿色转型。 从近两年的金融行业政策性文件的关键词中,咱们能够看到故障预测、对立监控,态势感知、异样发现、变更危险、事件预警等词高频呈现,代表着金融行业对于运维零碎的能力要求。 必示科技以“运维零碎稳定性为指标”进行智能运维产品研发,从事前预测和防备、事中疾速剖析定位和解决、预先教训常识积淀,并以此为循环,在防备和解决运维问题的同时一直晋升智能运维平台能力,最终升高MTTR,缩短MTBF。详见【必示说】第一期:以“运维零碎稳定性”为指标打造智能运维产品矩阵。

March 7, 2023 · 1 min · jiezi

关于运维:考阿里云认证必须有专业知识才行吗

随着时代的倒退,科学技术给人类社会带来了微小的改革,社会生存变得越来越便当,与此同时,信息通信技术也被利用在各行各业中,在国防、军事、经济、教育、游览、娱乐等畛域中施展着重要的作用,各个国家都在奋力研发信息通信技术,力求能够当先。 当然我国也不甘落后,鼎力造就业余的人才,心愿在这一行能够有所建树,除了院校有业余教学之外,当初很多互联网厂商都会设立本人的认证体系,以求为社会输送足够的人才,而阿里云就是其中受认可度最高的证书,与各行各业的龙头企业都有单干。 而对于没有学习过业余技术的人来说,想要从事这一行,考阿里云证书也是不二的抉择。阿里云的认证是面向社会全副人群的,不论是在校学生、刚进入社会的打工人,还是工作很多年的人,只有领有大陆身份证、年满十八周岁,就能够考阿里云的证书。 1、阿里云ACA证书 这个证书很适宜在校学生、刚刚毕业的打工人,考试内容大多是一些根底的常识,而且只须要考口试,考试不须要去指定的考场,应用电脑在线上实现即可。另一方面,认证的费用很便宜,即便是学生也负担得起,有须要的人还能够找认证大使(wx:STKJ-009)理解折扣报名券。 2、阿里云ACP认证 ACP是阿里云的中级证书,而且很多方向都只有这一等级,也就是说,其实这是高级证书,如果想考这个证书,考生须要肯定的专业知识,因为须要在官网上实现试验,否则无奈支付证书。此外,考生必须到线下的考场去实现口试认证,80分能力通过。 3、阿里云ACE认证 这是阿里云等级最高的认证,想要考取的话,须要通过口试、试验和面试三局部,而且每一门的报名费都很高,还须要到杭州的阿里云园区去考,所以当初大多数人都抉择考国际版的认证,有须要的能够找认证大使征询一下。

March 7, 2023 · 1 min · jiezi

关于运维:博睿数据数智领航营全国巡讲火热预约中扫码即可参与报名-

March 7, 2023 · 0 min · jiezi

关于运维:K8S-实用工具之五kompose

开篇 引言: 磨刀不误砍柴工工欲善其事必先利其器第一篇:《K8S 实用工具之一 - 如何合并多个 kubeconfig?》第二篇:《K8S 实用工具之二 - 终端 UI K9S》第三篇:《K8S 实用工具之三 - 图形化 UI Lens》第四篇:《K8S 实用工具之四 - kubectl实用插件》Kubernetes + Compose = Kompose从 Docker Compose 到 Kubernetes 的转换工具 什么是 Kompose?Kompose 是 dockercompose 到 Kubernetes (或 OpenShift) 等容器编排器的转换工具。 为什么开发者喜爱它? 应用 Docker Compose 简化开发过程,而后将容器部署到生产集群转换你的 docker-compose.yaml 须要一个简略的命令 kompose convert大海捞针找一个 docker-compose.yaml 文件;执行:kompose convert执行 kubectl apply 并查看您的 k8s 集群为您新部署的容器!$ wget https://raw.githubusercontent.com/kubernetes/kompose/master/examples/docker-compose-v3.yaml -O docker-compose.yaml$ kompose convert$ kubectl apply -f .$ kubectl get poNAME READY STATUS RESTARTS AGEfrontend-591253677-5t038 1/1 Running 0 10sredis-master-2410703502-9hshf 1/1 Running 0 10sredis-slave-4049176185-hr1lr 1/1 Running 0 10s实战比方我要在 K8S 上装置 RssHub,这是官网提供的 docker-compose.yml: ...

March 7, 2023 · 2 min · jiezi

关于运维:阿里云证书没经验的人可以考吗要怎么报名

阿里云认证是当初社会上最受认可的证书之一,很多从事信息通信行业的人,都会抉择这份证书来帮忙本人晋升职业竞争力,然而作为目前风头最盛的行业,有很多人都想进入这一行,那么对于没有相干教训的人来说,考取证书可能会有肯定的难度。 然而阿里云证书是面对社会所有人群的,不仅有教训的人能够考,没有学习过相干常识、从事过相干工作的人,也能够考取阿里云认证。 阿里云报名条件 想要报考阿里云认证,只有领有大陆身份证,且年满十八周岁即可,而港澳台地区、境外地区的人想要考取证书的话,只能报考国际版的证书。 阿里云考试模式 阿里云的ACA认证只须要考口试,ACP须要考口试和试验,ACE则须要考口试、试验和面试三局部,想要考试就须要具备相干的常识。 对于刚刚进入社会、没有工作教训的人,能够抉择ACA认证,这是最简略的认证,而且能够通过短时间的学习,就能够轻松拿到证书。另一方面,ACA的考试费用便宜,而且只须要在线上就能够实现,对于学生、工作忙碌的人来说,比拟不便。 阿里云ACP的口试认证须要到线下考场去进行,考生须要在官网上查问当地的考场,抉择适合的考试安顿进行预约,而试验只有在官网上就能够实现。然而很多机构能够预约线上的考试,有须要的人能够找认证大使(STKJ-009)征询。 ACE是阿里云最难、费用最高的考试,口试在当地的考场实现即可,试验和面试都须要去杭州阿里云的园区能力实现,很多人当初都会抉择国际版的证书来考取。

March 6, 2023 · 1 min · jiezi

关于运维:K8S-实用工具之四-kubectl实用插件

开篇 引言: 磨刀不误砍柴工工欲善其事必先利其器第一篇:《K8S 实用工具之一 - 如何合并多个 kubeconfig?》第二篇:《K8S 实用工具之二 - 终端 UI K9S》第三篇:《K8S 实用工具之三 - 图形化 UI Lens》在《K8S 实用工具之一 - 如何合并多个 kubeconfig?》一文中,咱们介绍了 kubectl 的插件管理工具 krew。接下来就趁势介绍几个实用的 kubectl 插件。 kubectl 实用插件access-matrix显示服务器资源的 RBAC 拜访矩阵。 您是否已经想过您对所提供的 kubernetes 集群领有哪些拜访权限?对于单个资源,您能够应用kubectl auth can-i 列表部署,但兴许您正在寻找一个残缺的概述?这就是它的作用。它列出以后用户和所有服务器资源的拜访权限,相似于kubectl auth can-i --list。 装置kubectl krew install access-matrix应用 Review access to cluster-scoped resources $ kubectl access-matrix Review access to namespaced resources in 'default' $ kubectl access-matrix --namespace default Review access as a different user $ kubectl access-matrix --as other-user Review access as a service-account $ kubectl access-matrix --sa kube-system:namespace-controller Review access for different verbs $ kubectl access-matrix --verbs get,watch,patch Review access rights diff with another service account $ kubectl access-matrix --diff-with sa=kube-system:namespace-controller显示成果如下: ...

March 6, 2023 · 8 min · jiezi

关于运维:K8S-实用工具之三-图形化-UI-Lens

开篇 引言: 磨刀不误砍柴工工欲善其事必先利其器第一篇:《K8S 实用工具之一 - 如何合并多个 kubeconfig?》第二篇:《K8S 实用工具之二 - 终端 UI K9S》像我这种,kubectl 用的不是十分溜,常常会碰到以下状况: 遗记命令,先敲 --help,再敲命令,效率低遗记加 -n 指定 namespace太长的命令常常记错或敲错,比方 kubectl exec -it...无奈疾速将日志、yaml 复制进去对于 CRD 类资源,记不住 CRD type,查不到相干信息无奈把握集群的衰弱及监控状态Windows 机器命令行不好用……如果你的工作机(前置机、跳板机、操作机、堡垒机…)是 Windows 桌面环境。那么我强烈推荐你应用这个 K8S 实用工具:图形化 UI Lens。 Lens 简介Kubernetes IDE(集成开发环境),可用于: 开发调试DevOps运维监控Lens 是你惟一须要的 IDE ,它能够用来管制你的 Kubernetes 集群。它建设在开源和收费的根底上。 一个为那些每天应用 Kubernetes 工作的人设计的 IDE,丑陋且弱小。 Lens 劣势 移除复杂性:不须要学习 kubectl 命令就能够摸索和导航 Kubernetes 集群。对于刚起步的开发者来说是十分棒的。️ 实时可察看性:实时查看实时统计、事件、日志流。没有转圈圈的加载,刷新或期待屏幕更新。 定位和调试:在仪表板上查看谬误和正告,而后单击查看详细信息。再次单击以查看日志或获取命令行。️ 在你的个人电脑上运行:MacOS, Windows 和 Linux 上的独立应用程序。1 分钟装置。不须要在集群中装置任何货色。 开源收费:Lens 基于开源平台,领有沉闷的社区,并失去 Kubernetes 和云原生生态系统先锋的反对。⎈ 可和任何 Kubernetes 一起工作:应用 EKS, AKS, GKE, Minikube, Rancher, k0s, k3s, OpenShift…?他们所有都能够失常运行。只需为您想要应用的集群导入 kubeconfigs。集体应用体验无障碍应用Lens 有一个对立的目录(Catalog)。将所有集群、服务、工作负载、工具、自动化和相干资源集中在一起,以便轻松拜访。 ...

March 5, 2023 · 2 min · jiezi

关于运维:K8S-实用工具之二-终端-UI-K9S

开篇 引言: 磨刀不误砍柴工工欲善其事必先利其器第一篇:《K8S 实用工具之一 - 如何合并多个 kubeconfig?》像我这种,kubectl 用的不是十分溜,常常会碰到以下状况: 遗记命令,先敲 --help,再敲命令,效率低遗记加 -n 指定 namespace太长的命令常常记错或敲错,比方 kubectl exec -it...无奈疾速将日志、yaml 复制进去对于 CRD 类资源,记不住 CRD type,查不到相干信息无奈把握集群的衰弱及监控状态…如果你的工作机(前置机、跳板机、操作机、堡垒机…)只是 Linux Shell,而没有桌面环境。那么我强烈推荐你应用这个 K8S 实用工具:终端 UI K9S。 K9S 简介K9S:K9s 是一个基于终端的 UI,用于与 Kubernetes 集群进行交互。这个我的项目的目标是使导航、察看和治理已部署的应用程序变得更容易。K9s 继续监督 Kubernetes 的变动,并提供后续命令与察看到的资源进行交互。 ️ K9S 性能信息触手可及! 跟踪 Kubernetes 集群中运行的资源的实时流动。规范资源或 CRD? 解决 Kubernetes 规范资源和自定义资源定义(即:CRD)。集群指标 跟踪与 pod、容器和节点(node)等资源相干的实时指标。受到高级用户欢送! 提供规范的集群治理命令,如日志、伸缩、端口转发、重启等定义您本人的命令快捷键,通过命令别名和热键疾速导航。k9s 反对插件扩大,以创立您本人的集群命令。弱小的过滤模式,容许用户深刻和查看与工作负载相干的资源。谬误钻取 间接钻取群集资源的谬误。皮肤和可定制性 通过 K9s 皮肤定义您本人的外观和感觉。自定义/排列要在每个资源根底上显示的列。窄或宽? 提供查看最小或残缺资源定义的切换多资源视图 通过 Pulses 和 XRay 视图提供集群资源的概述。咱们拿到你的 RBAC 了! 反对查看 RBAC 规定,如集群/角色及其关联绑定。反向查找断言用户/组或 ServiceAccount 在集群上能够做什么。内置基准测试(Benchmarking) ...

March 4, 2023 · 2 min · jiezi

关于运维:阿里云认证的考试难不难每个方向要考什么

为什么当初阿里云的认证越来越多人去考,作为一个非专业的人,能不能考阿里云的认证呢?我能够很负责任的说,相对能够。 阿里云是目前国内最受认可的云计算证书之一,其产品起步早、倒退快,与我国各行业各的龙头企业都有单干,能够说,阿里云的认证被社会各界宽泛认可。阿里云的认证分为三个等级,每个等级下有多个方向,考生能够依据本人须要的方向来抉择考试,上面小编就筛选热门的几个来介绍: 1、阿里云ACP云计算 考试内容: 云服务器 ECS 弹性伸缩(Auto Scaling) 负载平衡 SLB 专有网络 VPC 对象存储 OSS 内容散发网络 CDN 平安(云盾、云平安) 云计算通用常识 考试工夫:120min 考试模式:口试、试验 考试地点:当地的考试核心 2、阿里云ACP大数据 考试内容: 大数据计算服务 Maxcompute 数据工场 DataWorks 数据集成 10%Quick BI 机器学习 PAI 和其余云产品配合的应 用及架构 考试工夫:120min 考试模式:口试、试验 考试地点:当地的考试核心 考试费用:阿里云的考试费用都是对立的,ACA是600,ACP是1200,很多培训机构会有优惠报名券,有须要的人能够分割认证大使(wx:STKJ-009 )理解。

March 3, 2023 · 1 min · jiezi

关于运维:K8S-实用工具之一-如何合并多个-kubeconfig

开篇 引言: 磨刀不误砍柴工工欲善其事必先利其器K8S 集群规模,有的公司偏向于大量大规模 K8S 集群,也有的公司会偏向于大量小规模的 K8S 集群。 如果是第二种状况,是否有一个简略的 kubectl 命令来获取一个 kubeconfig 文件并将其合并到 ~/.kube/config 文件作为一个额定的上 context? 提醒: Kubeconfig 文件会蕴含 Kubernetes 集群的以下信息: 集群上下文(context)用户有以下解决方案: 解决方案计划一:KUBECONFIG 环境变量指向多个文件通过在 KUBECONFIG 环境变量中指定多个文件,能够长期将 KUBECONFIG 文件组合在一起,并在 kubectl 中应用。 如下,那么是在 kubeconfig 是在内存中做的合并: export KUBECONFIG=~/.kube/config:~/anotherconfig 计划二:flatten间接如下: export KUBECONFIG=~/.kube/config:~/anotherconfig kubectl config view --flatten如果须要,还能够管道输入到另外一个新文件。 --flatten:将生成的 kubeconfig 文件扁平化为自蕴含的输入(用于创立可移植的 kubeconfig 文件)计划三:kubectl 插件 konfigkubectl 有个 krew 插件包管理器,能够通过 krew 装置 konfig 实用插件来治理 kubeconfig。 实用工具:krew什么是 krew: Krew 是 kubectl 命令行工具的插件管理器。 Krew 能够帮忙你: 发现 kubectl 插件将它们装置到您的机器上并放弃装置的插件是最新的目前在 krew 上有 164个 kubectl 插件。 ...

March 3, 2023 · 1 min · jiezi

关于运维:阿里云认证什么时候改革改革后考试怎么复习

作为当初最受认可的认证之一,阿里云的证书每年都会有很多人抉择去考,而且会定时更新考试的内容和纲要,2023年行将迎来考试改革,具体的工夫在4月3日,也就是说,4月4号起,阿里云ACP云计算和大数据就要应用新的考试版本了。 想要拿证的人,尽快考试比拟好,在改革后,市场上很长一段时间内会没有对应的题库,当初想考试的人能够间接分割认证大使(wx:STKJ-009),越早拿到证书,变数越少。 阿里云考试模式 1、口试 考生须要到线下加入上机口试,考试题目一共一百道,有70道单选和30多选,考试成绩达到80分即可通过。 2、试验 试验考试是不计入问题的,然而必须要实现,否则无奈支付证书,试验在官网上实现即可,有两次机会,进去每一步都有提醒。 阿里云考试地点 1、线下考试 阿里云的线下考试在每个城市都设有考点,考生在官网上预约考试时,抉择本人所在的城市,即可查问当地考场公布的场次和工夫,预约适宜本人的场次即可。 2、线上考试 当初阿里云官网将线上考试外包给普尔文考场了,考生本人没有方法预约,有须要的能够在认证大使征询。

March 2, 2023 · 1 min · jiezi

关于运维:进击的Docker2023年Docker快速入门教程包含Net项目的部署

b站视频:【进击的Docker】2023年Docker疾速入门教程,蕴含.Net我的项目的部署 抖音视频:【进击的Docker】2023年Docker疾速入门教程,蕴含.Net我的项目的部署 官网地址:https://docs.docker.com/ 一、什么是Docker,它能做什么 概念:Docker 是一个用于开发、运维和运行应用程序的开放平台。Docker 使您可能将应用程序与基础架构离开,以便您能够疾速交付软件。 作用场景:应用 Docker 将应用程序推送到测试环境中,并执行主动和手动测试。当开发人员发现bug时,能够在开发环境中修复,重新部署到测试环境中进行测试验证。传统的交付是代码的交付,而应用了Docker 咱们交付的是性能,因为我能够把程序打包成镜像给运维人员,对于运维人员不须要晓得程序是什么语言编写的,他们只须要执行docker命令让程序跑起来就行了。 架构图: 二、学习预期后果装置docker engine,理解docker常用命令构建并运行镜像作为容器应用带有tomcat的多个容器部署 Docker 应用程序学习Dockerfile理解Docker Compose 三、依据官网教程,咱们来实操 3.1.筹备工作 1. Docker Engine的装置$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine$ sudo yum install -y yum-utils$ sudo yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin systemctl start dockerdocker run hello-world 2.装置git、zip(文件解压/压缩)##装置gityum install -y git## 装置zipyum install -y zip ...

March 2, 2023 · 4 min · jiezi

关于运维:K8S-120-弃用-Docker-评估之-Docker-和-OCI-镜像格式的差别

背景2020 年 12 月初,Kubernetes 在其最新的 Changelog 中发表,自 Kubernetes 1.20 之后将弃用 Docker 作为容器运行时。 弃用 Docker 带来的,可能是一系列的扭转,包含不限于: 容器镜像构建工具容器 CLI容器镜像仓库容器运行时专题文章《K8S 1.20 弃用 Docker 评估》会从多方面剖析由此带来的变动和影响,明天先介绍镜像格局的扭转。 Docker 镜像依然能够应用吗?是的,能够应用。Docker 较新版本生成的镜像实际上并不是特定于 Docker 的镜像,而是 OCI(Open Container Initiative)镜像。无论你应用什么工具构建镜像,任何合乎 OCI 规范的镜像在 Kubernetes 看来都是一样的。containerd 和 CRI-O 都可能提取这些镜像并运行它们。所以您能够依然应用 Docker 来构建容器镜像,并且能够持续在 containerd 和 CRI-O 上应用。 那为什么发现 Docker 镜像和 Containerd 镜像存在不兼容状况?具体如下:在 K8S > 1.20 版本中,发现 containerd ctr 上传到镜像仓库的镜像与同版本的 docker 镜像间存在以下问题 不能被 docker 应用docker push不能笼罩根本原因还是在于镜像格局的差异。上面做具体解释。 Docker 和 OCI 镜像格局的差异?目前有以下几种容器镜像格局: ❌已弃用:Docker Image V1已弃用:Docker Image Manifest V2 Schema 1Docker Image Manifest V2 Schema 2Open Container Initiative (OCI) 标准Docker V1 镜像{% note danger %}❌重大正告: ...

March 2, 2023 · 4 min · jiezi

关于运维:阿里云ACP云计算考试改革内容是什么

阿里云认证是当初社会上最受认可的证书之一,很多从事信息通信行业的人都会抉择这个证书,来帮忙本人升职、加薪,其中云计算是很多人的首选证书,阿里云官网告诉,2023年4月3号,考试正式改革,须要证书的人要尽早考试,具体能够在认证大使上理解。上面是云计算考试的新内容。 阿里云云计算高级工程师ACP认证所需具备的常识 1、阿里云相干的常识:纯熟应用阿里云云计算相干外围服务,包含弹性计算、网络、存储、数据库和平安等把握阿里云云计算相干产品的次要利用场景及组合应用的利用场景把握阿里云云计算的相干产品的基本操作,包含开明、创立、配置、启停、删除等把握阿里云云计算的相干产品的特点和根本的产品实现原理可能发现并解决阿里云云计算的相干产品应用中呈现的常见问题 2、通用IT 的常识:了解云计算畛域的根底概念及相干的常识,如虚拟化、容器、存储、网络等具备典型的 Web 利用架构相干的常识,包含 Web 服务器、应用服务器、负载平衡和数据库等具备内容散发网络 CDN 相干的应用和实践经验相熟常见的网络协议,如 HTTP、FTP、TCP、UDP、ICMP等具备网络相干的理论教训,包含路由、替换、路由表,NAT、DNS 等相熟软件开发的生命周期具备网络安全方面的基础知识,如防火墙策略、密钥加密、访问控制.网络安全、网络攻击及防护等 内容纲要 1、根底云利用架构依据业务场景划分云计算服务依据业务要求构建适合的分层架构计划依据要求抉择适当的计算服务、存储服务和数据库依据布局实现根底利用架构的部署和配置 2、简单云网络架构依据业务场景实现数据中心网络 (虚构专有网络、NAT 网关等)的布局和构建依据业务场景实现利用交付网络 (负载平衡、寰球减速、弹性公网IP 等)的布局和构建依据业务场景实现互联互通网络 (云企业网、VPN 网关、高速通道等)的布局和构建 3、云上高可用、高性能架构依据业务需要布局跨地区、跨可用区资源通过云服务的高可用配置防止单点故障依据业务场景构建适宜的备份、容灾策略依据业务负载抉择适宜的云服务架构,通过负载平衡、弹性伸缩.数据库缓存、容器服务等形式实现高性能的弹性架构 4、云上平安体系架构具备应用云服务的根本安全意识及平安基础知识可能正确理解网络安全的含意和对应防护伎俩,并可能利用阿里云DDoS 防护、Web 利用防火墙(WAF)、云防火墙等产品对企业网络环境进行平安加固可能正确理解主机平安含意和对应防护伎俩,并可能利用阿里云云平安核心主机内环境进行全面的平安加固可能正确理解数据安全的含意和对应防护伎俩,并可能利用阿里云数据安全核心、密钥治理、加密服务、证书管家等产品实现对企业数据资产的平安治理可能正确理解业务平安的含意和对应防护伎俩,并可能利用阿里云内容平安、实人认证、危险辨认等产品帮忙企业业务疾速进行内容审核、危险评估以及信息校验等工作

March 1, 2023 · 1 min · jiezi

关于运维:十五年始吾心

https://www.bilibili.com/video/BV1Mv4y1h7Nx/?aid=567858768&ci...博睿数据15岁啦,愿咱们在新时代新起点扬帆起航,一起驶向新的此岸!

March 1, 2023 · 1 min · jiezi

关于运维:软件架构的10个质量属性

个别地,对于软件系统的需要而言,分为两类:功能性需要和非功能性需要。软件系统的架构设计既要满足软件的功能性需要,还要满足软件的非功能性需要。特地地, 零碎架构对软件非功能性需要的撑持成为架构的品质属性。本文形容了软件的10个品质属性, 但不意味着每个品质属性都会在架构设计中出现,能够筛选对产品最重要的品质属性,而后进行实现。 1. 可伸缩性随着用户或申请数量的减少,零碎运行和操作的能力也随之减少。在云平台上,可伸缩性能够通过机器的程度或垂直缩放或者简略地附加 AutoScalingGroup 来实现。 流量模式: 理解零碎的交通模式。尽可能多地产生机器是不划算的,即便它的利用率不高。 日行模式: 特定地区的交通在早上减少,早晨缩小。全局/区域模式: 区域大量应用应用程序。突发流量: 许多用户都在申请资源,然而只有多数几台机器能够为突发的流量提供服务。这些可能产生在高峰期或人口密集地区。主动缩放: 可能迅速产生一些机器,以解决流量的暴发,当需要正在缩小时,优雅地膨胀。提早: 可能尽快为申请提供服务。这还包含优化算法和在用户地位左近复制零碎,以缩小申请的往返。 2. 可用性它以失常运行工夫的百分比来掂量,并定义了零碎失常运行和失常工作的工夫比例。可用性受到零碎谬误、基础设施问题、歹意攻打和零碎负载的影响。 部署标记: 部署应用程序组件的多个独立正本,包含数据存储区 区域部署: 将后端服务部署到一组天文节点中,每个节点都能够服务任何区域中的任何客户端申请。 3. 可扩展性可扩展性度量扩大了零碎的能力和实现扩大所需的工作。扩大能够通过增加新性能或批改现有性能来实现,该准则规定在不侵害以后零碎性能的状况下进行加强。 模块化/可重用性: 可重用性和可扩展性使得技术能够以更少的开发和保护工夫转移到另一个我的项目,同时加强了可靠性和一致性。 可插拔性: 可能轻松地插入其余组件,比方微内核架构。 4. 一致性一致性保障每个读操作返回最近的写操作。这意味着在执行每个操作之后,所有节点的数据都是统一的,因而,,无论它们连贯到哪个节点,所有客户端都能够同时看到雷同的数据。一致性进步了数据的陈腐水平。 5. 弹性零碎能够从容地解决意外故障和歹意故障并进行复原,检测故障并疾速无效地复原对于放弃弹性是必要的。 可恢复性: 筹备的过程和性能可能在发生意外更改后将服务返回到初始运行状态。意外的更改包含应用程序的软删除或硬删除或谬误配置。劫难复原包含了旨在避免或尽量减少灾难性事件造成的数据失落和业务中断的最佳实际,涵盖了从设施故障和部分停电到网络攻击、民事紧急情况、立功或军事攻打以及自然灾害。 设计模式: 隔离: 将应用程序的元素隔离到池中,以便在一个池失败时,其余元素持续运行。断路器: 当连贯到近程服务或资源时,解决可能须要破费不同工夫来修复的故障。选举: 通过选举一个实例作为负责管理其余实例的领导者,协调分布式应用程序中合作工作实例汇合执行的操作。6. 易用性可用性能够形容为一个零碎的能力,为其用户提供一个条件,以执行工作的平安无效,同时领有良好的用户体验。它是指特定的消费者可能应用软件在量化的环境中以无效、高效和称心的形式实现量化指标的水平。 易拜访性: 让具备最宽泛特色和性能的人能够应用该软件。这包含失聪、失明、色盲等用户。 易学性: 用户学习如何应用软件有多容易? API 契约: 对于外部团队,了解 API 契约有助于轻松接入任何零碎。 7. 可观测性可观测性是收集对于程序执行、模块外部状态及组件间通信的数据的能力。为了进步可观测性,能够应用各种测试跟踪技术和工具。 日志记录: 在每个申请中生成不同类型的日志: 事件日志、事务日志、消息日志和服务器日志。 警报和监控: 筹备监控仪表板,创立 SLI (服务水平指示器)并设置要害警报。 L1/L2/L3: 为 L1/L2设置随叫随到的反对流程。L1反对包含与客户交互,L2反对 L1路由到它们的工单,并帮忙进行故障排除。L3是反对的最初一环,通常包含一个解决技术问题的开发团队。 8. 安全性软件保护信息和数据,使人或其余产品或零碎有相应的数据拜访类型和受权程度。这一系列特色包含机密性(数据只能被受权拜访) ,完整性(软件避免未经受权拜访或批改软件或信息) ,不可否认性(是否证实曾经产生的行为或事件) ,问责性(是否追踪用户的行为)和真实性(验证用户的身份)。 可审核性: 审核并跟踪系统活动,以便在产生安全性缺点时,能够确定缺点的机制和水平。近程存储审计跟踪(能够避免入侵者覆盖其形迹。 合法性: ...

March 1, 2023 · 1 min · jiezi

关于运维:K8S-120-弃用-Docker-评估之-Docker-CLI-的替代产品-nerdctl

背景2020 年 12 月初,Kubernetes 在其最新的 Changelog 中发表,自 Kubernetes 1.20 之后将弃用 Docker 作为容器运行时。 弃用 Docker 带来的,可能是一系列的扭转,包含不限于: 容器镜像构建工具容器 CLI容器镜像仓库容器运行时专题文章《K8S 1.20 弃用 Docker 评估》会从多方面剖析由此带来的变动和影响。 《K8S 1.20 弃用 Docker 评估之 Docker 和 OCI 镜像格局的差异》 次要介绍 镜像格局的变动《K8S 1.20 弃用 Docker 评估之 Docker CLI 的代替产品》 次要介绍 Docker CLI 的代替产品及集体举荐 - RedHat 3件套 - Buildah、Podman 和 Skopeo书接上文,明天来介绍 Docker CLI 代替产品的另一种抉择:nerdctl。 nerdctl 简介nerdctl:是由 containerd 开源的、contaiNERD CTL,这是一个用于 containerd 的,且和 Docker 兼容的 CLI,另外还反对 Compose。 典型利用场景K8S 1.20+ Node 上做容器 Debug如果你最近刚刚开始应用 K8S 1.20 及以上版本,并且 CRI 抉择了 containerd ,那么你会留神到 containerd 默认带的 CLI - ctr 相比 Docker CLI 产生了较大变动,且存在以下问题:与 Docker CLI 不兼容,对用户不敌对。另外,ctr 短少以下相似 Docker CLI 的命令: ...

March 1, 2023 · 1 min · jiezi

关于运维:阿里云ACP大数据改革后考试内容

阿里云认证4月份正式改革,ACP云计算、大数据行将扭转考试内容,有须要考试的人尽快报名,能够在认证大使上理解,上面是大数据的新考试纲要: 阿里云大数据业余认证所需具备的前置常识 阿里云相干的常识:1、理解阿里云公司及其次要产品,可参考官方网站https://www.aliyun.com/2、理解阿里云大数据的相干产品: 包含大数据计算与剖析产品、大数据开发与治理的产品、大数据利用与可视化产品、大数据工具与服务产品3、理解大数据相干的根底概念以及相干常识,如分布式存储、分布式计算、数据仓库、数据分析等4、理解关系型数据库的基本概念和罕用技术,包含事务、索引、OLTP建模办法、SQL (DDL、DML) 等5、理解数据仓库的基本概念和罕用技术,包含维度、事实表、即席查问数据挖掘、OLAP、星型模型、ETL等6、具备肯定的编程教训,能应用至多一种常见的编程语言如 Java、Python 等进行简略的程序开发 线下上机考试试卷内容范畴1、大数据根底与阿里云大数据平台理解大数据基本概念及以后大数据的发展趋势理解开源大数据平台经典架构、罕用组件及其利用场景理解阿里云大数据产品体系、罕用产品及利用场景 2、大数据计算服务理解 MaxCompute 的产品价值及产品架构相熟 MaxCompute 的外围概念及罕用开发工具相熟 MaxCompute 罕用的数据迁徙工具把握 MaxCompute SQL 的罕用 DDL、DML操作及内置函数的应用把握 MaxCompute SQL 自定义函数的分类、开发及应用相熟MaxCompute SQL 性能调优的罕用办法相熟 MaxCompute 的权限及平安的治理 3、大数据开发与治理平台:理解阿里云 DataWorks 的产品架构及利用场景把握基于数据集成进行数据离线与实时同步相熟大数据建模的方法论、数据仓库布局及维度建模的规范把握数据开发与运维的根本流程理解大数据治理的概念及其需要档次,相熟 DataWorks 大数据治理的体系及施行门路理解数据地图及其操作、相熟数据品质监控、理解数据保护伞 理解阿里云 DataWorks 中数据分析、数据服务、迁徙助手等性能 4、实时计算:相熟实时计算的概念及其利用场景相熟业界支流实时计算框架相熟 Apache Flink 架构及工作原理理解阿里云实时计算 Fink 产品相干概念把握阿里云实时计算 Flink SQL 及其操作相熟阿里云实时计算 Fink 作业管理及调优 5、实时数据仓库:相熟实时数据仓库架构的演进理解实时数据仓库造型的次要根据理解数据仓库的罕用架构及云原生 HSAP 的理念相熟阿里云实时数据仓库 Hologres 的产品个性、技术架构及原理、利用场景相熟实时数据仓库面临的挑战以及 Hologres 的利用对策把握 Hologres 开发工具的应用把握 Hologres 的数据同步的次要办法把握 Hologres 数据开发过程中的数据类型、SQL及 Binlog的操作相熟 Hologres 的性能调优的次要办法,包含外部表的优化及 Key/Value 的查问把握 Hologres 实时数据仓库建设的 3 种典型场景 6、检索剖析服务理解检索剖析技术倒退过程的问题及解决方案把握 Elasticsearch 中的基本概念相熟阿里云 Elasticsearch 产品的次要性能个性: 冷热拆散计算存储拆散、Indexing service、Openstore等把握 Elasticsearch DSL和 SDK的利用开发 ...

February 27, 2023 · 1 min · jiezi

关于运维:MIAOYUN-2023年度战略共识会

2023年2月10日至11日,成都元来云志科技有限公司(以下简称“MIAOYUN”),在成都市高新区中海Office Zip举办MIAOYUN一年一度策略共识会。本次会议采取“线上+线下”联合的形式,MIAOYUN董事会、经营高管层、各部门外围骨干成员独特加入了本次会议。 会议开始,MIAOYUN CEO 张旸对2022年经营状况进行了回顾,2022年整个科技行业的寒冬席卷国内外,经济情况上行,MIAOYUN逆势上扬,整体经营后果仍是获得了艰巨的突破性,实现订单和支出双双翻倍,新客户减少40+,其中不乏金融、制造业等新行业。不破则不立,随着新技术、新理念的疾速衰亡,面对变局和市场,MIAOYUN一直学习思考,一直调整适应,在标准化建设、生态扩建、品牌降级、研发体系晋升等方面有了较大的扭转。增长的外围是可复制的模式和机制,2023年MIAOYUN致力于成长为更规范化、更业余的公司,更多地和用户走在一起,进一步标准化产品,打磨场景化行业利用,帮忙各行各业客户在云原生时代升高数字化转型老本。 **

February 27, 2023 · 1 min · jiezi

关于运维:K8S-Pod-Sidecar-应用场景之一加入-NGINX-Sidecar-做反代和-web-服务器

Kubernetes Pod Sidecar 简介 Sidecar 是一个独立的容器,与 Kubernetes pod 中的利用容器一起运行,是一种辅助性的利用。 Sidecar 的常见辅助性性能有这么几种: 服务网格 (service mesh) 代理监控 Exporter(如 redis exporter)ConfigMap 或/和 Secret Reloader(如 Prometheus 的 Config Reloader)Auth Proxy(如 OAuth Proxy 等)7 层反向代理和 Web 服务器日志整合(审计日志独自发到某个日志渠道。..)Demo 或 AllInOne 利用(如 nextcloud 或 Jaeger AllInOne 等示例利用)...这里选几个场景细说一下,在服务网格的状况下,sidecar 负责从应用程序自身卸载服务网格中所有应用程序所需的性能--SSL/mTLS、流量路由、高可用性等,并施行部署各种高级公布模式,如断路器、金丝雀和蓝绿等。 作为数据立体组件,sidecar 通常由服务网格中的某种类型的管制立体治理。当 sidecar 路由利用流量并提供其余数据立体服务时,管制立体在必要时将 sidecars 注入 pod 并执行治理工作,例如更新 mTLS 证书并在须要时将其推送到适当的 sidecars。 日志整合场景下,Sidecar 被用来将多个利用实例的日志信息汇总并格式化为一个文件。 接下来进入本次的正题:将 NGINX (或 Caddy 等)作为 Sidecar 应用,次要用做反代和 web 服务器 场景假如假如有这么一个场景: 我在应用原生的 Prometheus AlertManager, 我曾经有 Ingress.我当初想要做 2 件事: ...

February 27, 2023 · 3 min · jiezi

关于运维:K3S-系列文章RHEL78-离线有代理条件下安装-K3S

一 根底信息1.1 前提本次装置的为 k3s 1.21.7+k3s1VM 版本为 RHEL 7.8, 7.9 或 8.2, 8.3, 8.4(K3s 官网要求)VM YUM 仓库:已配置对应版本的 RHEL 和 EPEL YUM 仓库VM 提供 root 权限已配置 ntp(避免因为工夫不统一导致的诡异问题)提供 Proxy 拜访互联网 K3s 相干域名;端口要求,为了失常运行,K3s 须要在 K3s 节点和上游 Kubernetes 集群节点上凋谢一些端口。端口需要列出了不同集群类型的 K3s 和上游集群的所有必要端口。具体如下表:K3S 协定端口源目标形容TCP6443K3s agent 节点K3s server 节点Kubernetes API ServerUDP8472K3s server 和 agent 节点K3s server 和 agent 节点仅对 Flannel VXLAN 须要TCP10250K3s server 和 agent 节点K3s server 和 agent 节点Kubelet metrics✅ 胜利: 如果以上后期条件均已满足。 即能够通过「离线 - 有代理」形式进行装置。 1.2 VM 信息ℹ️ 信息: ...

February 26, 2023 · 4 min · jiezi

关于运维:K3S系列文章使用AutoK3s在腾讯云上安装高可用K3S集群

开篇《K3s 系列文章》《Rancher 系列文章》计划在腾讯云上装置 K3S 后续会在这套 K3S 集群上装置 Rancher 计划指标高可用 3 台master 的 k3s 集群数据备份 k3s 数据备份到 腾讯云对象存储 cos尽量复用私有云的能力 Tencent Cloud Controller Manager (❌ 因为腾讯云曾经放弃保护相干源码, 所以无奈复用)SVC LoadBalancer 调用 CLB (❌ 因为腾讯云曾经放弃保护相干源码, 所以无奈复用)备份 - 应用腾讯云 COS前提条件有腾讯云账户,账户至多领有如下权限:auto k3s 装置 - 设置 CAM 以及这些权限: QcloudTAGFullAccess该腾讯云账号有对应的 API 密钥,地址:拜访密钥 - 控制台 (tencent.com) ,或者领有相干权限:cam:QueryCollApiKey 和 cam:CreateCollApiKey一台 linux 操作机,用于部署 autok3s一个对象存储通 cos,用于备份已有的镜像仓库的一些账号密码或认证信息,包含:quay,docker,腾讯云 (用于减速 pull push镜像) ℹ️ Info: 腾讯云 tcr 广州 提供收费个人版实例,能够应用并增加: https://ccr.ccs.tencentyun.com K3S 装置注意事项通过autok3s部署通过 autok3s 装置后, 默认 k8s api 通过 公网 IP 进行通信, 须要调整 systemd 配置使其通过内网进行通信.⚠️付费模式,装置后可依据具体情况在将付费模式控制台改为:包年包月K3S 装置参数本次 K3s 装置参数如下: ...

February 25, 2023 · 5 min · jiezi

关于运维:必示说第四期智能运维系统效果实现下篇

【必示说】第三期:智能运维零碎成果实现(上篇)提出,在智能运维行业逐步回归感性的趋势下,各企业都更关注零碎成果和价值实现的问题。“以成果为导向”的智能运维零碎建设时,首先要确定多方对齐可量化度量的价值,并在此基础上制订全局或阶段性指标,通过合作式迭代流程逐渐解决问题,最初通过迷信的”复盘成果+生产成果”来进行成果掂量。“成果”二字拆开看,“效”是功能,“果”和“因”绝对。所以要探讨和谋求“成果”,咱们不仅要关注功能(价值)自身,更需摸索实现成果的“起因”。【必示说】第四期:智能运维零碎成果实现(下篇),咱们来聊一聊,那些智能运维零碎“出成果”的企业有何借鉴之处? 无成果,不运维随着金融行业数字化水平越来越高、业务需要一直激增、零碎规模越来越大、组件监控粒度越来越细、以及新技术和新组件一直引入,导致运维工程师被海量运维监控数据吞没,而利用AI技术解决运维问题成为行业必然趋势。在此过程中,运维人员对AIOps的需要合乎马斯洛需要金字塔模型,即从最根底的生理需要(通过AIOps解决根底业务须要)到最顶端的自我实现(在AIOps畛域的自我价值实现),而这实际上是随同着对AIOps价值摸索一直晋升的,而成果是贯通需要金字塔的隐含撑持。 两个案例讲述AIOps如何“出成果”必示科技服务了60余家以金融行业为代表的数字化转型头部企业,很多企业通过人力和资金的投入,在摸索实际中一直迭代降级,最终获得了不错的成果。这里举两个案例,心愿能够演绎出智能运维零碎落地施行时,“出成果”有没有共性的特点和办法。01某大型股份制银行在我的项目建设之初,该银行将智能运维零碎成果的指标设定为“十分钟定位问题、十分钟复原服务”。而与之对应事实的情况是:故障发现依赖于业务部门报障或者银行储户报障、运维数据品质参差不齐、排账依赖专家教训、故障定位根本靠人肉...面对指标与现实状况差距较大的情况,他们并没有谋求一步到位,而是分解成多期建设小指标,从2019年到2022年,目前以建设四期,每期都有科学合理可量化的指标。 他们以“试点一批、成熟一批、推广一批”的准则逐步建设,每期都获得了不错的成果。以2021年为例,绝对于2020年在异样检测、调用链、机器指标定位的准确率有了10% -12%的晋升,五级以上事件故障发现率大于88%,五级以上事件故障定位准确率大于77%。继续的成果也为运维零碎建设部门及无关领导带来一直加强的信念,通过继续投入,保持继续迭代、细节微雕的建设形式,使该银行向着智能运维建设的行业标杆一直迈进。过程中通过以后对手边影响“出成果”的生效因素在细节上一直微雕,从质变到量变,使他们向着“出成果”一直迈进。如:通过继续的白名单计划施行,解决低效数据的问题,保障数据品质和算法对齐,晋升告警准确率;通过继续的指标裁减与精细化,一直晋升故障定位的精度和准度;通过告警规定的继续优化,让告警告诉趋于实在牢靠。02某证券公司无论是银行还是券商,在智能运维建设的路线上面临的初始问题有很多相似之处。此证券公司在做智能运维零碎开始建设前,也面临着误报频发、告警不准、定位靠人肉、数据价值无奈体现等问题。而他们智能运维零碎总体建设思路是:从单场景登程,继续迭代演进构建智能运维剖析能力。具体来说,第一期并没有好高骛远,场景上只是引入了从检测到定位的根本能力,包含业务指标异样检测、日志异样检测,以及机器异样定位性能。在一期的根底上补齐了故障定位能力,即业务明细多维定位性能。第三期的时候他们才开始做数据治理,以及智能事件治理方面的工作。该券商目前实现了三期工程,成果也很显著:监控指标时效从分钟级晋升到10秒级,异样定位达到分钟级。 在具体建设中,值得学习的是他们会沉下心,在细节之处下功夫:通过对从数据采集到检测传输继续革新,使业务监控距离从分钟级、到10秒、再到5秒。这会使零碎更敏感地观测到异样交易的轻微稳定,同时也可能更迅速和高效地定位稳定的起因,以此来实现异样检测品质和精度的双晋升。再比方该证券国内首创地对KS Monitor的事件与指标监控,并与CMDB联合实现链路指标监控,另外接入了中间件、数据库、硬件、平安、利用性能、拨测等指标,以此来继续裁减监控范畴,这也为后续排障剖析的成果建设了根底。另外,该券商将交易工夫监控扩大到24小时监控,实现全天候监控,监控范畴从柜台交易扩充到业务运行零碎的E柜通监控。总之,他们通过对轻微因素的逐步打磨和晋升,实现了成果晋升。 总结:智能运维成果实现的三点倡议01眼里是星辰大海,脚下是跬步千里企业智能运维落地实际过程中首先要锁定一个清晰和可量化的近景指标,并以此为根底拆解到每个阶段指标。在施行过程中,通过建设主线、覆盖范围、配套建设工程等互相配合,最终实现“星辰大海”(总体成果)的指标。对智能运维零碎指标逐渐实现的过程遵循从被动到被动,从可见到不可见,从简略到简单的迭代准则,从感知力(业务指标异样检测、机器指标定位、业务多维分析、趋势预测),到判断力(基于疑似故障的告警关联、调用链本源零碎定位、故障指纹、运维指标治理、运维数据平台),再到决策力和洞察力的建设(故障根因排查、故障止损计划举荐、运行危险辨认、智能变更查看等),逐渐发明智能运维价值,实现最终成果的“星辰大海”。 02通过细节微雕,迭代解决手边的“生效”因素这里援用罗振宇在往年“工夫的敌人”跨年演讲的一个观点“微雕”。意思是说与其塌实地埋怨蹩脚的后果,不如沉下心、好高鹜远,通过精雕细琢把手边的细节做到极致。智能运维成果最终成果指标的实现也是如此,通过两个案例咱们会发现,其实在智能运维零碎的成果晋升过程中,质变和量变并不是若明若暗的。无论是夯实根底、还是裁减范畴、晋升精度,都是一个继续而费劲,然而又影响最终成果的过程。通过继续的微雕,先解决能够手边的影响成果因素,终将取得性能的晋升和指标的解决,才会向着“星辰大海”继续迈进。当然这个微雕工作也不是自觉的,首先要明确每个小指标的逻辑程序。异样检测扎实了,咱们再晋升定位能力。定位场景做好,咱们再开始根因剖析。同时以数据治理与零碎建设并行的理念,去做数据处理和晋升。如案例2中,那家券商是在第三期才做数据治理的,前两期还是集中力量放在监控和定位的晋升下面。 03成果为王,先固化、再僵化、再优化在智能运维建设过程中,不同企业底部条件的不同,门路抉择兴许也有差别,然而总体上应以“先固化、再僵化、再优化”为门路,让每个阶段都能“出成果”,这也会使运维部门和上级领导通过成果的达成取得继续的信念,通过迭代来逐渐实现AIOps最终价值。1、固化(引入成功经验,指标快出成果) 依据必示科技服务过60余家数字化转型企业的教训来看,大概20%的组件故障导致了80%的业务故障。倡议在做初期智能运维建设时,首先基于以后运维和数据的现状,以“急切需要”和“必要性能”动手,引入和复制行业通用性能为主的胜利模式,以产品“尽快可用”和“出成果”为指标建设智能运维零碎。同时为了以后和后续成果的继续晋升,倡议数据治理与数据生产场景并行建设。 2、僵化(联结相干部门、谋求放大成果) 随着“固化”策略产生成果,数据治理体系和智能运维零碎已初见成效。此时应以智能运维零碎的易用性为根底,推广到每个运维人员日常工作当中,此时能够思考谋求必要的定制性能,同时增强数据治理和管控能力建设。这个过程须要多方合作,将数据产生和应用的利用保护、技术撑持、软件开发等部门联结起来,独特推动智能运维零碎建设的同时放大成果和价值。 3、优化(翻新场景性能、实现最佳价值) 随着“僵化”策略产生成果,智能运维零碎的成果和价值出现同时,数据组织和治理工作也较为欠缺。此时,应使智能运维零碎与其余运维管理系统进一步交融,让运维人员充沛享受AI技术为运维工作带来便当。与此同时,无论是零碎还是认知,都曾经有了做场景翻新的条件。此时能够在从“易用”到“必用”,在高频应用的根底上谋求一些“出彩”场景和翻新性能,包含数据策略和数据安全、开掘独特业务价值的场景等。

February 23, 2023 · 1 min · jiezi

关于运维:PDF电子书下载-和-企业物联网实例-视频讲解实践类

《AIoT 物联网开发实战》PDF:上册:https://developer.aliyun.com/...下册:https://developer.aliyun.com/... 当咱们购买企业物联网平台时,会看到3个外围指标:设施量,音讯上下行TPS,规定引擎TPS。当咱们业务起步时,无奈精确预估规格,那么就先选最低规格,配置好监控告警,业务增长后,动静扩容,这也是抉择IoT云平台的劣势。如下图: 购买链接 https://common-buy.aliyun.com...这三个指标对应到IoT物联网实例中的外围链路节点,如下: 设施量设施同时在线量。比方您有10万设施,同时在线峰值2万,那么这个指标能够选 2万音讯上下行TPS设施与IoT平台音讯通信带宽。比方您在线设施上报数据峰值80条/秒,上行指令峰值50条/秒,那总TPS为130,须要抉择 200TPS规格。规定引擎TPSIoT平台与业务服务数据通信带宽。比方设施上报数据中的40条/秒,须要流转到业务零碎,你们规定引擎TPS为40,须要抉择 100TPS规格。当咱们实现业务开发,设施运行过程中,咱们能够到实例详情参看理论状况:同时,咱们能够到运维监控-实时监控,查看到更具体的业务曲线: 物联网平台产品介绍详情:https://www.aliyun.com/produc... 阿里云物联网平台客户交换群

February 23, 2023 · 1 min · jiezi

关于运维:大规模-IoT-边缘容器集群管理的几种架构4Kubeedge

前文回顾大规模 IoT 边缘容器集群治理的几种架构-0-边缘容器及架构简介大规模 IoT 边缘容器集群治理的几种架构-1-Rancher+K3s大规模 IoT 边缘容器集群治理的几种架构-2-HashiCorp 解决方案 Nomad大规模 IoT 边缘容器集群治理的几种架构-3-Portainer️Reference:IoT 边缘计算系列文章Kubeedge 简介KubeEdge 是一个开源零碎,用于将本地容器化利用协调能力扩大到边缘的主机。它建设在 kubernetes 之上,为网络、利用部署和云与边缘之间的元数据同步提供根本的基础设施反对。 Kubeedge 的指标是建设一个凋谢的平台来实现边缘计算,将原生的容器化利用协调能力扩大到边缘的主机,该平台建设在 kubernetes 之上,为云和边缘之间的网络、利用部署和元数据同步提供根本的基础设施反对。 参考架构“云”:Kubernetes 集群 + CloudCore(包含: CloudHub、EdgeController、DeviceController)“边”:EdgeCore Edged: 轻量化的 Kubelet 实现EdgeHubDeviceTwinMetaManagerServiceBus"端": 各类 IoT 设施 Mappers 计划长处CNCF 首个云原生边缘计算我的项目: 基于 Kubernetes, 为边缘做了很多优化和适配。功能强大且欠缺。寰球开发者泛滥。大规模: 单集群冲破 10 万边缘节点边缘设施治理: 欠缺的边缘设施治理,反对多种边缘设施通信协议,如 MQTT、Modbus、Bluetooth、OPC UA 等,反对自定义插件扩大边缘设施协定。100%兼容 Kubernetes 原生能力: 反对用户应用 Kubernetes 原生 API 对立治理边缘利用边缘牢靠的 list-watch 接口轻量: 针对资源受限场景进行本身组件轻量化,~70MB 内存占用反对简单的边云网络环境: 双向多路复用的边云音讯通道,反对边缘位于公有网络; 应用层牢靠增量同步机制,反对在高时延、低质量网络环境下工作边缘自治: 反对边缘离线自治:边缘元数据长久化、边缘 DNS,保障边缘离线时的业务运行和故障恢复能力(相比起来,k3s 的边缘自治算是"伪边缘自治"); 反对边缘数据流式解决,定义边缘数据荡涤、数据分析等解决工作边云一体资源调度和流量协同: 反对边缘节点 (edged 节点,在 kubernetes 看来也是一个 node) 和云节点混合治理,提供边云数据通信和边边数据通信DMI 架构设施治理: 治理面数据与业务面数据拆散EdgeMesh: 跨云边、边边的利用互访通信;边缘内置域名解析能力,不依赖核心 DNS; 反对 L4,L7 流量治理;反对逾越边云的统一的服务发现和拜访体验;跨子网通信Sedna: AI 边云协同套件计划毛病复杂度高: Kubeedge 基于 Kubernetes, 然而针对边缘计算场景做了大量的性能扩大,这使得要用好 Kubeedge, 不仅要懂 Kubernetes, 还须要懂 Kubeedge, 还须要懂边缘业务/边缘通信协议。入门学习曲线极为平缓。中文文档品质个别: 查看 Kubeedge 官网中文文档,发现以下问题:版本更新后文档未更新;文档僵硬机翻英文文档;文档组织构造存在问题,很难"quick start"; 甚至还有低级的文档排版错乱,markdown 错乱等问题。 ...

February 23, 2023 · 1 min · jiezi

关于运维:百度工程师浅谈分布式日志

作者 | 文库基础架构 导读 咱们做软件开发时,或多或少的会记录日志。因为日志不是零碎的外围性能,经常被忽视,定位问题的时候才想起它。本文由浅入深的探讨不起眼的日志是否重要,以及分布式架构下的日志运维工具应该具备哪些能力,心愿感兴趣的读者能从本文取得一些启发,有所帮忙。 全文8832字,预计浏览工夫23分钟。 01 什么是日志日志是一种依照工夫顺序存储记录的数据,它记录了什么工夫产生了什么事件,提供准确的零碎记录,依据日志信息能够定位到谬误详情和本源。依照APM概念的定义,日志的特点是形容一些离散的(不间断的)事件。 日志是依照谬误级别分级的,常见的谬误级别有 FATAL / WARNING / NOTICE / DEBUG / TRACE 5种类型。通常咱们会在我的项目外面定义一个日志打印级别,高于这个级别的谬误日志会数据落盘。 02 什么时候记录日志在大型网站零碎架构外面,日志是其中的重要性能组成部分。它能够记录下零碎所产生的所有行为,并依照某种标准表达出来。咱们能够应用日志零碎所记录的信息为零碎进行排错,优化性能。通过统计用户行为日志,帮忙产品经营同学做业务决策。在平安畛域,日志能够反馈出很多的平安攻击行为,比方登录谬误,异样拜访等。日志能通知你很多对于网络中所产生事件的信息,包含性能信息、故障检测和入侵检测。还能够为审计进行审计跟踪,日志的价值是不言而喻的。 03 日志的价值在大型网站零碎架构外面,日志是其中的重要性能组成部分。它能够记录下零碎所产生的所有行为,并依照某种标准表达出来。咱们能够应用日志零碎所记录的信息为零碎进行排错,优化性能。通过统计用户行为日志,帮忙产品经营同学做业务决策。在平安畛域,日志能够反馈出很多的平安攻击行为,比方登录谬误,异样拜访等。日志能通知你很多对于网络中所产生事件的信息,包含性能信息、故障检测和入侵检测。还能够为审计进行审计跟踪,日志的价值是不言而喻的。 04 分布式架构的日志运维4.1 为什么要有运维工具微服务倒退迅猛的明天,松耦合的设计层出不穷,为简化服务服务带来了极大的便当。业务方向分工明确,研发同学只须要关怀本人模块的版本迭代上线就好。随着整个业务架构的扩充,服务实例的数量迎来了爆炸性的增长,往往带来以下问题: 由不同团队开发,应用不同的编程语言,日志格局不标准对立;微服务迭代速度快,日志漏记、级别应用谬误、难以提取无效信息;容器实例散布在成千上万台服务器上,横跨多个数据中心,异构部署,难以串联申请链路。没有工具的状况下,须要登录服务实例,查看原始日志,在日志文件中通过grep、awk形式取得本人想要的信息。但在规模较大的场景中,此办法效率低下,面临问题包含日志量太大不易归档、文本搜寻太慢、不不便多维度查问。这时候须要更加高效的运维工具来代替人工拜访日志。常见解决思路是建设集中式日志收集零碎,将所有节点上的日志对立收集,治理,拜访。 4.2 运维工具建设咱们心愿通过原始日志能够了解零碎行为,这须要建设具备性能剖析,问题定位的能力的工具平台。它可能反对: 在故障产生前,剖析危险和零碎瓶颈;在故障产生时,及时告诉,疾速定位解决问题;在故障产生后,有历史数据迅速复盘。通过建设具备日志即时收集、剖析、存储等能力的工具平台。用户能够疾速高效地进行问题诊断、零碎运维、流量稳定性监控、业务数据分析等操作。比方搭建链路追踪零碎,能追踪并记录申请在零碎中的调用程序,调用工夫等一系列要害信息,从而帮忙咱们定位异样服务和发现性能瓶颈,晋升了零碎的『可观测性』。后面提到日志在APM规范的定义下日志的特点是形容一些离散的(不间断的)事件。这里说下APM是什么,不便更好的构建监控方面的常识体系。 05 APM和可观测性APM 是Application Performance Managment的缩写,即:“利用性能治理”。能够把它了解成一种对分布式架构进行观测剖析优化的理念和方法论。监控零碎(包含告警)作为SLA体系的一个重要组成部分,不仅在业务和零碎中充当保镖发现问题、排查问题的作用。 随着零碎一直演进欠缺,咱们能够取得越多帮忙于理解业务和零碎的数据和信息,这些信息能够更进一步的帮忙咱们进行零碎上的优化,因为能够梳理申请链路得出用户的浏览偏好,甚至能够影响业务上的要害决策。 整体来说,整个APM体系就是将大三类数据(logs、metrics、trace)利用到四大模块中(收集、加工、存储、展现),并在四个难点(程序异构,组件多样,链路残缺,时效采样)上一直优化。 可观测性 是APM的一大特色,次要由以下三大支柱形成,别离是Logging(日志),Metrics(指标),以及Tracing(利用跟踪)。 Logging:主动埋点/手动埋点,展示的是利用运行而产生的事件或者程序在执行的过程两头产生的一些日志,能够具体解释零碎的运行状态,然而存储和查问须要耗费大量的资源。Metrics:服务、端点、实例的各项指标,是一种聚合数值,存储空间很小,能够察看零碎的状态和趋势,对于问题定位不足细节展现,最节俭存储资源。Tracing:同一TraceId的调用序列,面向的是申请,能够轻松剖析出申请中异样点,资源可能耗费较大,不过根据具体性能实现绝对可控。 5.1 Metrics和PrometheusMetrics:指标。 I think that the defining characteristic of metrics is that they are aggregatable: they are the atoms that compose into a single logical gauge, counter, or histogram over a span of time.大抵上可了解为一些可进行聚合计算的原子型数据。举些例子:cpu占用状况、零碎内存占用、接口响应工夫、接口响应QPS、服务gc次数、订单量等。这些都是依据工夫序列存储的数据值,能够在一段时间内进行一些求和、求均匀、百分位等聚合计算。指标在监控零碎中不可或缺,咱们都须要收集每种指标在工夫线上的变动,并作同比、环比上的剖析。metrics的存储模式为有工夫戳标记的数据流,通常存储在TSDB(工夫序列数据库)中。 ...

February 21, 2023 · 2 min · jiezi

关于运维:大规模-IoT-边缘容器集群管理的几种架构2HashiCorp-解决方案-Nomad

前文回顾大规模 IoT 边缘容器集群治理的几种架构-0-边缘容器及架构简介大规模 IoT 边缘容器集群治理的几种架构-1-Rancher+K3s️Reference:IoT 边缘计算系列文章HashiCorp 解决方案 - Nomad + Docker 简介Nomad: 一个简略而灵便的调度器和编排器,可在外部和云端大规模部署和治理容器和非容器化的应用程序 Nomad 使开发者可能应用申明式的基础设施即代码来部署应用程序。Nomad 应用 bin packing 来无效地安顿工作并优化资源利用。 Nomad 凭借其简略性、灵活性、可扩展性和高性能与相干工具辨别开来。Nomad 的协同作用和整合点 HashiCorp Terraform、Consul 和 Vault 使其特地适宜轻松集成到 组织的现有工作流程,最大限度地缩小要害打算的上市工夫。 应用 Nomad 来安顿更靠近用户的边缘工作负载。用 Nomad 的本地服务发现连贯边缘服务。无缝地解决不稳固的 Nomad 客户端节点连贯。 参考架构当采纳边缘计算/容器时,会遇到诸如 治理异构设施(不同的处理器、操作系统等), 资源受限的设施,以及间歇性连贯。 Nomad 解决了这些挑战,使其成为一个有吸引力的边缘协调者。Nomad 客户端代理是单个二进制文件,占用空间小,资源无限生产,以及在不同类型的设施上运行的能力。另外 Nomad 反对地理位置较远的客户端,这意味着 Nomad 服务器群集不须要在客户端左近运行。 通过 Nomad 1.3,原生服务发现 (native service discovery) 简化了连贯 Nomad 工作的过程,在那里你不须要应用繁多的服务网格,并且不再须要治理一个独自的 Consul 集群。Nomad 的原生服务发现还打消了在每个边缘设施上装置 Consul 代理的须要。这进一步缩小了 Nomad 的资源占用,因而你能够在边缘运行和反对更多的工作负载。此外,断开的客户端调配能够优雅地从新连贯,解决边缘设施遇到网络提早或长期连贯损失的状况。 如下图, 本地数据中心或云,将托管 Nomad 服务器集群和一个客户端用于对立治理边缘端运行 Nomad 客户端。 计划长处部署容器和旧版应用程序: Nomad 作为协调程序的灵活性使组织可能在同一基础架构上同时运行容器、旧版和批处理应用程序。Nomad 为旧版应用程序带来了外围编排劣势,而无需进行容器化。简略牢靠:Nomad 作为单个二进制文件运行,并且齐全独立 - 将资源管理和调度联合到单个零碎中。Nomad 不须要任何内部服务进行存储或协调。Nomad 主动解决应用程序、节点和驱动程序故障。Nomad 是分布式和弹性的,应用领导者选举和状态复制在产生故障时提供高可用性。资源占用少: Nomad 客户端代理是单个二进制文件,占用空间小,资源应用少;Nomad 1.3 以上版本的 native service discovery 还打消了在每个边缘设施上装置 Consul agent 的须要。这进一步缩小了 Nomad 的资源占用。设施插件和 GPU 反对:Nomad 为 GPU 工作负载(如机器学习(ML)和人工智能(AI))提供内置反对。Nomad 应用设施 插件 来自动检测和利用来自硬件设施(如 GPU、FPGA 和 TPU)的资源。插件很丰盛,反对: ...

February 21, 2023 · 1 min · jiezi

关于运维:苏宁基于-AI-和图技术的智能监控体系的建设

汤泳,苏宁科技团体智能监控与运维产研核心总监,中国商业联合会智库参谋,致力于海量数据分析、基于深度学习的工夫序列剖析与预测、自然语言解决和图神经网络的钻研。在利用实际中,通过基于 AI 的形式不断完善智能监控体系的建设,对日常和大促提供稳定性保障。概述常识图谱有较强的常识表达能力、直观的信息出现能力和较好的推理可解释性,因而常识图谱在举荐零碎、问答零碎、搜索引擎、医疗衰弱、生物制药等畛域有着宽泛的利用。运维常识图谱构建绝对于其余畛域的常识图谱构建而言,具备人造的劣势,网络设备固有的拓扑构造、零碎利用的调用关系能够疾速的形成软硬件常识图谱中的实体和关系。历史的告警数据蕴含着大量的相干、因果关系,应用因果发现算法,也能够无效的构建告警常识图谱。基于常识图谱上的权重进行门路搜寻,能够给出根因的流传门路,便于运维人员疾速的做出干涉决策。 苏宁通过 CMDB、调用链等数据构建软硬件常识图谱,在此基础上通过历史告警数据构建告警常识图谱,并最终利用常识图谱进行告警收敛和根因定位。本文次要包含运维常识图谱构建、常识图谱存储、告警收敛及根因定位等内容。 痛点及产品对策演进痛点 苏宁外部零碎和服务的复杂性:6000+ 零碎,数量还在减少;零碎间调用形式简单: 大部分应用 RSF,也有 HTTP、HESSIAN 等; 苏宁业务的简单: 既有线上新业务又有线下老业务,这些业务零碎之间会有大量的关联。 根底环境的复杂性:多数据中心,每个数据中心会划分多个逻辑机房和部署环境;服务器规模 30w+,例如,缓存服务器就有可能有上千台服务器; 设施复杂性: 多品牌的交换机,路由器,负载平衡,OpenStack, KVM, k8s 下 docker,swarm 下的 docker 等。 基础设施的复杂性导致每天均匀产生 10w+ 的告警事件,峰值可达到 20w+ / 天。面对海量的运维监控数据,零碎和指标间关联关系越来越简单,一个节点呈现故障,极易引发告警风暴,波及更广的范畴,导致定位问题费时费力。此时,单纯依附人肉和教训剖析,越来越难以为继。迫切需要一个工具,能够辅助咱们剖析零碎和指标间关联关系,可视化展现告警的流传门路和影响范畴等。 产品对策演进针对上述痛点,咱们采纳畛域常识联合 AI 的办法对告警进行收敛,以缓解告 警风暴。此外,为便于一线运维人员疾速的作出干涉决策,咱们同时对告警的流传门路和影响范畴进行剖析。 基于穿插熵的告警聚类(1.0 版本)依照告警的场景和规定,利用穿插熵对告警信息进行聚类,实现告警的收敛。 借鉴 moogsoft 的思维,将告警聚类后果生成 situation,同一个 situation 中蕴含同场景、有关联的告警。毛病: 收敛成果无限,该办法只能缩小 30% 左右的告警,无奈无效解决告警风暴问题;无奈提供根告警以及根因链路弱解释性无奈解决告警的根因问题。基于 GRANO 算法的根因定位(2.0 版本)根因定位是在告警收敛的根底上进行的,采纳 GRANO[2] 算法,基于告警收敛后果生成 situation,计算 situation 中每个告警节点的得分,而后排序来确定根因。毛病: 这种办法的毛病是不会给出一条残缺的根因链路,因而根因的可解释性不强。基于运维常识图谱的告警收敛和根因定位(3.0 版本)包含全局视角下的软硬件常识图谱和告警常识图谱,利用 NLP 技术对告警文 本信息进行分类,而后将告警收敛到软硬件常识图谱的相干节点上,再联合具 有因果关系的告警常识图谱,得出一条 “A –> B –> C –> D”的根因链路。长处: 因为联合了畛域相干常识,该办法收敛成果更好,而且提供了一条残缺的根因链路,所以解释性更强,能够更好的为 SRE / 运维人员提供指引。思路与架构分层建设思路 ...

February 20, 2023 · 3 min · jiezi

关于运维:大规模-IoT-边缘容器集群管理的几种架构1RancherK3s

前文回顾大规模 IoT 边缘容器集群治理的几种架构-0-边缘容器及架构简介 ️Reference:IoT 边缘计算系列文章Rancher + K3s 简介 Rancher: Kubernetes 对立治理平台, Rancher 是为采纳容器的团队提供的一个残缺的软件栈。它解决了治理多个 Kubernetes 集群的操作和平安挑战,同时为 DevOps 团队提供了运行容器化工作负载的集成工具。K3s: 完满适配边缘, K3s 是一个高可用的、通过认证的 Kubernetes 发行版,设计用于无人值守、资源受限的近程地点或物联网设施内的生产工作负载。K3s 被打包成一个<60MB的二进制文件,缩小了装置、运行和自动更新一个生产型 Kubernetes 集群所需的依赖性和步骤。ARM64 和 ARMv7 都被反对,二进制文件和多架构镜像都能够应用。K3s 在小到 Raspberry Pi,大到 AWS a1.4xlarge 32GiB 服务器上都能很好地工作。参考架构 此计划借助 Kubernetes 的生态,并且 100%开源,无锁定,不便插件扩大,也提供了 UI 入口以提供良好的用户体验。 并且外围齐全是基于 Kubernetes, 具备十分好的大众根底。 “云”中部署一套 Rancher 集群,Rancher 负责管理上司所有的“边”中的 K3s 集群,Rancher 集群中同时能够部署云端的业务利用,负责和边缘侧业务零碎同步, 以及下发数据或指令。“边”设施中装置轻量化操作系统 MicroOS(一种不可变 OS,在本文不是重点,不开展),以及 K3s,K3s 中部署“边”的业务利用,供“端”连贯应用。“端”作为业务利用的最边缘端,通过网络连接“边”,实现业务组网,造成以“边”为核心的业务利用。计划长处云边协同: 云侧 Rancher 与边缘侧 K3s 集群之间网络(通过 rancher-cluster-agent 建设 websocket 隧道)连通时 ,可通过 Rancher 治理上司所有的 K3S 集群,如观测各个 K3s 集群运行状态,其上业务利用运状态等; 同 时 Rancher 所在集群中部署的云端业务利用可向边缘侧业务利用下发数据或指令 。边缘自治: 无论网络如何,边缘侧 K3s 集群均能够自行运行(就是一套精简的 K8s), 无需依赖云端 Rancher, 实现运行环境的边缘自治;其上运行的边缘侧业务利用如果不依赖云端利用即可失常运行,则能够做到业务的边缘自治。轻量化 K8s: 应用轻量化的 K8s 解决方案 K3s 作为运行环境,可在硬件资源缓和的状况下提供基于 K8s 的容器服务,使业务享受 K8s 的技术红利。100%开源: 100%开源,无锁定原生 Kubernetes 生态: 借助齐全兼容 Kubernetes 的生态,不便插件扩大,且开箱即用提供了:flannel, load balancer service, Traefik, coredns...UI 精美: 提供了 UI 入口以提供良好的用户体验GitOps: Rancher 默认集成 GitOps 工具 - Fleet, 提供 GitOps 自动化体验。运维简略: Rancher 和 K3s 文档齐全,提供很多不便的运维自动化工具。残缺的企业性能: 如:认证、鉴权、单点登录、API...计划毛病K3s 相比纯容器占用资源还是略多rancher-cluster-agent 占用资源较多: 在我的应用教训中,该 agent 可能占用 > 1G 内存的资源,这在边端是难以承受的。网络简单且较弱: K3s CNI 默认是 flannel, 对于边缘简单的网络状况没有做进一步的优化和适配。如果边是 K3s Server, 端是 K3s Agent, 边端网络也不稳固,对于这种状况 K3s 基于原生 K8s 网络的能力是无奈做到很好应答的。相比 Kubeedge, 边缘网络适配能力弱;相比纯容器计划,flannel/load balancer service, Traefik, coredns 等又较为简单。持续浏览大规模 IoT 边缘容器集群治理的几种架构-2-HashiCorp 解决方案 Nomad大规模 IoT 边缘容器集群治理的几种架构-3-Portainer大规模 IoT 边缘容器集群治理的几种架构-4-Kubeedge大规模 IoT 边缘容器集群治理的几种架构-5-总结参考文档SUSE Edge 2.0: A Cloud Native Solution to Manage Edge | SUSE Communities三人行, 必有我师; 常识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

February 20, 2023 · 1 min · jiezi

关于运维:大规模-IoT-边缘容器集群管理的几种架构0边缘容器及架构简介

️Reference:IoT 边缘计算系列文章什么是边缘容器?边缘容器的概念边缘容器是扩散的计算资源,尽可能凑近最终用户或设施,以缩小提早、节俭带宽并加强整体数字体验。 能够拜访互联网的设施数量每天都在减少。有包含但不限于: 智能电视智能家居智能手机智能汽车物联网 IoT 发明的多种多样其余智能设施大多数用户运行对工夫敏感的应用程序,滞后会升高用户体验的品质。边远的集中式云服务存在高提早,通常是应用程序性能不佳的罪魁祸首。开发边缘计算旨在使数据处理更靠近用户并解决与网络相干的性能问题。 具体而言,边缘容器容许组织通过将应用程序的要害组件挪动到网络边缘来扩散服务。通过将智能转移到边缘,组织能够实现更低的网络老本和更快的响应工夫。 然而,当组织采纳边缘容器/计算时,他们会遇到诸如 治理异构设施(不同的处理器、操作系统等), 资源受限的设施,以及间歇性连贯等问题。 边缘计算的发展趋势️Reference: Edge Computing will be 4x larger than cloud and will generate 75% of data worldwide by 2025. With hardware andsoftware spread across hundreds or thousands of locations, the only feasible way to manage these distributed systems are the simple paradigms around observability, loosely coupled systems, declarative APIs, and robust automation, that have made cloud native technologies so successful in the cloud. Kubernetes is already becoming a key part of the edge ecosystem, driving integrations and operations. ...

February 19, 2023 · 2 min · jiezi

关于运维:K3S-系列文章5G-IoT-网关设备-POD-访问报错-DNS-io-timeout分析与解决

开篇《K3s 系列文章》《Rancher 系列文章》问题概述20220606 5G IoT 网关设施同时装置 K3S Server, 然而 POD 却无法访问互联网地址,查看 CoreDNS 日志提醒如下: ...[ERROR] plugin/errors: 2 update.traefik.io. A: read udp 10.42.0.3:38545->8.8.8.8:53: i/o timeout[ERROR] plugin/errors: 2 update.traefik.io. AAAA: read udp 10.42.0.3:38990->8.8.8.8:53: i/o timeout...即 DNS 查问 forward 到了 8.8.8.8 这个 DNS 服务器,并且查问超时。 从而导致须要联网启动的 POD 无奈失常启动,频繁 CrashLoopBackoff, 如下图: 然而通过 Node 间接拜访,却是能够失常拜访的,如下图: 环境信息硬件:5G IoT 网关网络: 互联网拜访:5G 网卡:就是一个 usb 网卡,须要通过拨号程序启动,程序会调用零碎的 dhcp/dnsmasq/resolvconf 等内网拜访:wlan 网卡软件:K3S Server v1.21.7+k3s1, dnsmasq 等剖析网络具体配置信息一步一步查看剖析: 看 /etc/resolv.conf, 发现配置是 127.0.0.1netstat 查看 本地 53 端口的确在运行这种状况个别都是本地启动了 DNS 服务器或 缓存,查看 dnsmasq 过程是否存在,的确存在dnsmasq 用的 resolv.conf 配置是 /run/dnsmasq/resolv.conf$ cat /etc/resolv.conf# Generated by resolvconfnameserver 127.0.0.1$ netstat -anpl|grep 53(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN -tcp6 0 0 :::53 :::* LISTEN -udp 0 0 0.0.0.0:53 0.0.0.0:* -udp6 0 0 :::53 :::* -$ ps -ef|grep dnsmasqdnsmasq 912 1 0 6 月 06 ? 00:00:00 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsmasq -r /run/dnsmasq/resolv.conf -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new --local-service --trust-anchor=...$ systemctl status dnsmasq.service● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-06-06 17:21:31 CST; 16h ago Main PID: 912 (dnsmasq) Tasks: 1 (limit: 4242) Memory: 1.1M CGroup: /system.slice/dnsmasq.service └─912 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsmasq -r /run/dnsmasq/resolv.conf -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new --local-service --trust-anchor=...6 月 06 17:21:31 orangebox-7eb3 dnsmasq[912]: started, version 2.80 cachesize 1506 月 06 17:21:31 orangebox-7eb3 dnsmasq[912]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfile6 月 06 17:21:31 orangebox-7eb3 dnsmasq-dhcp[912]: DHCP, IP range 192.168.51.100 -- 192.168.51.200, lease time 3d6 月 06 17:21:31 orangebox-7eb3 dnsmasq[912]: read /etc/hosts - 8 addresses6 月 06 17:21:31 orangebox-7eb3 dnsmasq[912]: no servers found in /run/dnsmasq/resolv.conf, will retry6 月 06 17:21:31 orangebox-7eb3 dnsmasq[928]: Too few arguments.6 月 06 17:21:31 orangebox-7eb3 systemd[1]: Started dnsmasq - A lightweight DHCP and caching DNS server.6 月 06 17:22:18 orangebox-7eb3 dnsmasq[912]: reading /run/dnsmasq/resolv.conf6 月 06 17:22:18 orangebox-7eb3 dnsmasq[912]: using nameserver 222.66.251.8#536 月 06 17:22:18 orangebox-7eb3 dnsmasq[912]: using nameserver 116.236.159.8#53$ cat /run/dnsmasq/resolv.conf# Generated by resolvconfnameserver 222.66.251.8nameserver 116.236.159.8CoreDNS 剖析这里很奇怪,就是没发现哪儿有配置 DNS 8.8.8.8, 然而日志中却显示指向了这个 DNS: ...

February 18, 2023 · 4 min · jiezi

关于运维:DevOps实践|混合云模式下软件单一可信源的建设方法

February 17, 2023 · 0 min · jiezi

关于运维:精选案例-金融电子化光大银行云原生背景下的运维监控体系建设

适应“十四五”布局中对于“放慢金融机构数字化转型”要求,中国人民银行印发了《金融科技倒退布局(2022-2025年)》。近几年来,金融行业牢牢占据着国内产业数字化转型市场投入的榜首地位。IDC考察显示,2022上半年,中国金融云市场规模达到34.3亿美元,同比增长29.3%。 光大银行在数字化转型过程中踊跃利用云原生技术对业务零碎进行了降级革新,大幅晋升了底层技术平台对下层业务的撑持能力,不过随同而来的全新的运维体系建设难题的解决也变得火烧眉毛。借助博睿数据在云原生简单环境下的可观测性能力的冲破,光大银行不仅实现了传统的全栈式数据采集与监测,同时通过多级交融形式将简单的调用链与指标及日志数据进行了交融,进而实现了高效的数据分析能力,以及以AI为主的智能根因定位能力。最终,该计划不仅解决了客户现有运维体系革新建设的难题,其技术的前瞻性利用也让对应的案例发表在了中国人民银行主管的《金融电子化》杂志上。 以下为原文,共计4024字,预计浏览工夫9min。随着数字化转型的逐渐深刻,如何在保障业务稳固运行的同时,又可能疾速高效地满足一直变动的业务须要,是银行行业IT撑持部门亟待解决的一个难题。以后,通过云原生等先进技术建设“数字化中台”,进一步晋升对业务的疾速撑持,推动业务技术深度交融,构建金融科技赋能业务的综合战略决策体系,已成为银行业IT技术的重要指引方向。云原生环境具备如下特点: 1、不可变基础设施以镜像、容器为根底,通过编排零碎下载更新镜像、只更新镜像不扭转容器运行时等形式,构建基于容器化封装的云原生体系,确保根底施行的一致性与可靠性,从而实现“一次构建,到处运行”的能力。 2、弹性的服务编排通过集中式的编排调度零碎实现对计算、存储、网络等资源的自动化对立调度,构建业务的集群治理能力,提供负载平衡、资源主动调度、动静扩缩容、主动修复等能力。 3、微服务架构在云原生利用设计中,通常采纳微服务设计,传统单体利用的性能被拆解成大量独立、细粒度的分布式服务,实现服务的互相解耦。通过利用编排调度组装,进而实现等价于传统的单体利用,但却更加灵便、易于保护。 4、可管理性和可观测性除了长处之外,云原生环境也存在利用调度可视化简单,难以疾速定位故障等艰难。因容器漂移、主动扩缩容等个性,利用的调用关系通常难以清晰展现与剖析,故障现场难以还原,为业务零碎运维及故障排查带来了极大的挑战,因而须要有业余组件或工具晋升监控治理能力。 光大银行十分重视金融科技翻新工作,在各级工作会议中,团体与银行领导屡次提到“要保持把科技翻新摆在倒退全局的重要地位”,“要以科技翻新为驱动,减速推动数字化转型”。光大银行金融科技部保持贯彻科技引领的战略目标,以科技翻新为驱动,打造自主可控的光大技术中台,并实现了全栈云平台建设,全面反对云原生技术,并遵循CNCF(云原生计算基金会)OpenTelemetry理念,构建全面的Trace(调用链)、Metric(指标)、Log(日志)数据分析维度,全面晋升云原生环境下的可观测性,并交融稳态/敏态运维管理体系,为行内数字化转型策略护航,实现由大型主机运维向分布式架构运维的转型。 光大“全栈云”监控背景图1:全栈云架构示意图图2:运维监控体系架构图 光大银行通过开发测试云、生产云、金融生态云三朵云的全栈云体系建设,全面反对业务的麻利开发、继续交付和稳固运行,技术栈全面兼容X86架构与国产化ARM架构,全面反对混合云架构,提供两地三核心及异地多活能力,逐步推进行内利用云原生革新步调,实现以云原生利用为主,传统利用为辅的全栈云技术支撑体系,如图1所示。与此同时,光大还构建了残缺的云原生监控体系,实现了从基础架构监控(ITIM)、到利用性能监控(APM)、网络性能监控(NPM)以及用户体验监控(DEM)的全链路监控体系,全面监控云原生环境以及稳态零碎中业务运行的稳定性,如图2所示。 云原生利用监控实际图3:APM技术架构图 光大银行在全栈云平台构建利用性能监控(APM)解决方案,通过智能探针技术(SmartAgent),实现对平台利用零碎的主动装置与监控。探针监控应用字节码等相干技术,无需对程序代码进行批改,即可实现对应用程序的执行过程进行全面监控与追踪。APM平台服务端采纳大数据处理架构,次要技术框架如图3所示。 通过APM产品中全栈(Full-Stack)探针的能力和平台的数据分析能力,实现了利用性能评分体系、调用链路追踪、代码级故障定位以及指标/日志关联剖析等能力。 一、利用评分体系通过对利用性能体验相干指标的综合评分,构建利用评分体系。评分体系通过对利用的Apdex评估、响应速度及错误率作为评估根据,通过100分制的权重计算,得出利用零碎的性能评分。Apdex为Application Performance Index的缩写,是Apdex 联盟凋谢的用于评估利用性能的工业规范,通过利用响应工夫评估用户称心水平,并量化为0~1的满意度评估(数值越趋近于1代表用户越称心,利用的最终评分也就越高)。响应速度为该利用业务申请的均匀响应速度,响应速度越快,评分越高。错误率是指利用调用过程中呈现各类谬误样本占总样本数的比率。谬误蕴含常见的网络谬误、程序执行报错、数据库谬误等,这些谬误都有可能会影响到用户应用业务的成果及性能体验。因而,错误率越低,最终评分越高。通过把握利用零碎的横向评分比照以及历史得分参考,通过评分疾速把握以后利用零碎的总体运行状况,由原来对利用运行好坏的主观评估,变为量化评估。 二、调用链路追踪通过TraceID主动写入技术,实现对利用从程序入口到执行全链路进行监控与追踪,主动绘制程序调用拓扑。APM探针在利用调用的入口办法的Header中,主动注入惟一的TraceID及调用层级,随着利用的一直调用,将TraceID在不同调用的Header中进行传递,并记录每一个调用层级数据,通过探针将上述数据及性能监控数据进行回传,基于有向无环图(DAG)的原理,构建利用的调用链追踪拓扑。在同步中,基于利用性能好坏,通过不同色彩标注,绿色示意优良/失常,黄色示意迟缓,应用红色的圆环示意错误率的占比。从而直观发现利用性能问题,晋升云原生环境下的可观测性,实现利用故障的疾速定位及影响范畴剖析。 三、代码级故障定位通过字节码、自研SuperTrace等技术,实现对应用程序在内存执行过程的全面监控。以Java利用举例,字节码技术是指当被监控对象的类加载时,通过java.lang.instrument包提供的字节码加强技术,对所加载类进行动静批改,以获取各个办法执行开始工夫、完结工夫、返回状态等相干数据,可实现对常见数据库调用、消息中间件调用、近程RPC调用以及自定义办法调用等各种程序执行过程的全面监控,从而把握应用程序迟缓根因,疾速定位利用故障或迟缓是由哪个或者Class(类)、Method(办法)的问题所导致的,并可定位到故障/问题所在代码行号。自研的SuperTrace技术则是通过JDK所提供的JVM监控技术,对内存堆栈中各办法的入栈、出栈工夫进行实时扫描,并通过出入栈工夫和各个办法互相拜访调用关系,通过本地Agent进行数据上报。为节约探针端内存扫描的资源开销,探针会从服务端获取数据采集策略。平台可配置数据采集的触发阈值,只有当办法执行工夫≥100ms时,才会对相干办法的明细数据进行采集,从而大幅升高了JVM扫描频次和系统资源占用。上述相干形式抓取到的数据,反对以单次申请(以TraceID为惟一标识)维度进行查看,以快照模式进行存储与展现,在平台以程序调用瀑布图的形式进行展现,能够直观发现慢申请的产生地位以及各个办法的调用秩序。 四、关联剖析能力通过将故障产生时的基础架构相干指标,如CPU、内存、JVM等数据进行联动剖析,疾速定位故障成因是基础设施资源问题导致还是程序自身问题导致。以后探针在采集APM利用性能相干数据的同时,还会通过JNI接口(Java native interface,Java本地接口)中的相干API,同步获取操作系统的底层数据信息,如CPU、内存、磁盘IO、网络流量开销、零碎IO、过程数据、内存数据等一系列基础架构监控的指标数据。再通过基于事件、工夫戳和节点信息的关联剖析,将APM数据与基础架构指标数据进行联动,同步剖析该利用产生性能问题时的基础架构监控指标变动状况,从而实现问题关联剖析的能力。 五、智能探针技术通过SmartAgent技术,全面兼容非容器/容器环境的各类利用,反对独立过程、DaemonSet、Image等多种形式进行探针装置,全面兼容K8S,从而实现了探针的繁难部署、主动监控。智能探针可反对通过守护过程对容器的调度状况进行监控,当发现有被监控容器生成时,将先判断该容器环境应适配哪个类型的探针(如Java、Python、Node.js等),而后主动将匹配好的探针进行主动装载和配置信息批改,实现探针的主动发现、主动注入的能力。同时,在APM平台还可配置不同的监控策略和批量进行探针启停治理。可应用过程名称、镜像名称、环境变量、正则表达式等多种形式,进行服务过程的命名与合并,定义服务与利用的逻辑层级关系。通过上述主动发现能力主动注入、探针对立调度策略管理等能力,实现了容器漂移或重启时主动监控的相干性能。 端到端监控实际 光大银行除了在利用服务端进行性能监控实际之外,还针对利用零碎如网上银行、手机银行等前端利用进行了用户体验监控(DEM)实际。通过DEM的产品建设,把握用户实在业务应用过程中的性能体验及问题,并通过端到端买通的形式,构建从用户到代码的全链路监控体系。通过前后端关联剖析的能力,能够通过平台疾速理解以后零碎的整体运行状态,剖析次要问题是产生在网页端、手机APP端还是H5页面端。从数据中心外部看,问题是在哪个集群、哪一类利用上,次要问题是利用自身问题,还是近程调用,或是数据库问题导致。前端监控别离通过被动模仿监控形式和JS/SDK注入形式,获取用户应用业务过程中的网络申请性能数据、页面加载性能数据及应用中遇到的慢卡顿等各类问题,全面掌握业务在各个区域、各类网络、各个机型和重要业务流程中的可用性与连续性。平台具备端到端的关联剖析能力,基于TraceID在Header中传导的原理,将前后端的性能数据进行关联,实现针对繁多调用前后端关联剖析的能力。举例来说,一个用户申请较慢,发现服务端解决用时偏高 :点击进入到快照剖析中,找到相干快照记录,通过点击服务端快照的形式,以后端利用发现性能问题,定位为后端服务响应速度慢时,能够通过快照跳转的形式,跳转到APM平台进行关联剖析,直至定位到问题的故障代码。 收益与瞻望 通过本期我的项目建设,构建了利用零碎前后端的性能监测能力,全面兼容光大全栈云平台,实现对云原生业务的Trace、Metric和日志数据的收集剖析,并通过前后端关联的形式,理解了利用可用性指标与运行状态,实现了问题代码级根因定位的能力。依照Gartner对于IT运维零碎建设步骤的倡议,将IT建设过程分为5个阶段,从低到高可分为可用性监控阶段、指标体系建设阶段、故障根因定位阶段、业务洞察阶段和流程自动化阶段。以后光大银行零碎建设曾经实现了第一到三阶段中可用性监控、指标体系建设和事务追踪的初步监控能力,实现了故障的根因定位与诊断能力,根本实现了第三阶段的建设指标。后续我的项目建设将在现有根底上,实现以下内容 :首先,进一步欠缺指标体系和性能监控范畴与规范,构建对立主观的评估体系。其次,基于现有监控指标数据,实现业务的商业洞察,理解用户的应用流程和轨迹,从性能和支出角度综合剖析IT服务撑持成果和用户应用习惯,真正从运维动手,来促成和晋升业务经营。第三,实现多维度数据的一直积攒,为全面的自动化运维奠定良好的数据根底和实际根底,构建不同维度的AIOps落地场景,在奠定根底的同时晋升运维及业务收益。 博睿数据作为中国当先的智能可观测平台代表厂商,目前也是对应产品计划可能落地四大行生产环境的重要厂商。博睿数据将近年优良实际整顿为《金融行业精选客户案例集》,在上一版收录建设银行、农业银行、泰康保险等客户的根底上,本次新增光大银行、安全银行、中银证券等优良的行业案例,心愿通过抛砖引玉,为行业提供一批可复制可操作的先进经验,同时心愿可能促成更多业界的单干与交换。 扫描海报下方二维码,收费获取博睿数据最新版《金融行业精选客户案例集》。

February 17, 2023 · 1 min · jiezi

关于运维:IoT-边缘集群基于-Kubernetes-Events-的告警通知实现二进一步配置

上一篇文章IoT 边缘集群基于 Kubernetes Events 的告警告诉实现 指标告警复原告诉 - 通过评估无奈实现 起因: 告警和复原是独自齐全不相干的事件, 告警是 Warning 级别, 复原是 Normal 级别, 要开启复原, 就会导致所有 Normal Events 都会被发送, 这个数量是很恐怖的; 而且, 除非特地有教训和急躁, 否则无奈看出哪条 Normal 对应的是 告警的复原.未复原进行继续告警 - 默认就带的能力, 无需额定配置.告警内容显示资源名称,比方节点和pod名称能够设置屏蔽特定的节点和工作负载并能够动静调整 比方,集群001中的节点worker-1做计划性保护,期间进行监控,保护实现后从新开始监控。配置告警内容显示资源名称典型的几类 events: apiVersion: v1count: 101557eventTime: nullfirstTimestamp: "2022-04-08T03:50:47Z"involvedObject: apiVersion: v1 fieldPath: spec.containers{prometheus} kind: Pod name: prometheus-rancher-monitoring-prometheus-0 namespace: cattle-monitoring-systemkind: EventlastTimestamp: "2022-04-14T11:39:19Z"message: 'Readiness probe failed: Get "http://10.42.0.87:9090/-/ready": context deadline exceeded (Client.Timeout exceeded while awaiting headers)'metadata: creationTimestamp: "2022-04-08T03:51:17Z" name: prometheus-rancher-monitoring-prometheus-0.16e3cf53f0793344 namespace: cattle-monitoring-systemreason: UnhealthyreportingComponent: ""reportingInstance: ""source: component: kubelet host: master-1type: WarningapiVersion: v1count: 116eventTime: nullfirstTimestamp: "2022-04-13T02:43:26Z"involvedObject: apiVersion: v1 fieldPath: spec.containers{grafana} kind: Pod name: rancher-monitoring-grafana-57777cc795-2b2x5 namespace: cattle-monitoring-systemkind: EventlastTimestamp: "2022-04-14T11:18:56Z"message: 'Readiness probe failed: Get "http://10.42.0.90:3000/api/health": context deadline exceeded (Client.Timeout exceeded while awaiting headers)'metadata: creationTimestamp: "2022-04-14T11:18:57Z" name: rancher-monitoring-grafana-57777cc795-2b2x5.16e5548dd2523a13 namespace: cattle-monitoring-systemreason: UnhealthyreportingComponent: ""reportingInstance: ""source: component: kubelet host: master-1type: WarningapiVersion: v1count: 20958eventTime: nullfirstTimestamp: "2022-04-11T10:34:51Z"involvedObject: apiVersion: v1 fieldPath: spec.containers{lb-port-1883} kind: Pod name: svclb-emqx-dt22t namespace: emqxkind: EventlastTimestamp: "2022-04-14T11:39:48Z"message: Back-off restarting failed containermetadata: creationTimestamp: "2022-04-11T10:34:51Z" name: svclb-emqx-dt22t.16e4d11e2b9efd27 namespace: emqxreason: BackOffreportingComponent: ""reportingInstance: ""source: component: kubelet host: worker-1type: WarningapiVersion: v1count: 21069eventTime: nullfirstTimestamp: "2022-04-11T10:34:48Z"involvedObject: apiVersion: v1 fieldPath: spec.containers{lb-port-80} kind: Pod name: svclb-traefik-r5p8t namespace: kube-systemkind: EventlastTimestamp: "2022-04-14T11:44:59Z"message: Back-off restarting failed containermetadata: creationTimestamp: "2022-04-11T10:34:48Z" name: svclb-traefik-r5p8t.16e4d11daf0b79ce namespace: kube-systemreason: BackOffreportingComponent: ""reportingInstance: ""source: component: kubelet host: worker-1type: Warning{ "metadata": { "name": "event-exporter-79544df9f7-xj4t5.16e5c540dc32614f", "namespace": "monitoring", "uid": "baf2f642-2383-4e22-87e0-456b6c3eaf4e", "resourceVersion": "14043444", "creationTimestamp": "2022-04-14T13:08:40Z" }, "reason": "Pulled", "message": "Container image \"ghcr.io/opsgenie/kubernetes-event-exporter:v0.11\" already present on machine", "source": { "component": "kubelet", "host": "worker-2" }, "firstTimestamp": "2022-04-14T13:08:40Z", "lastTimestamp": "2022-04-14T13:08:40Z", "count": 1, "type": "Normal", "eventTime": null, "reportingComponent": "", "reportingInstance": "", "involvedObject": { "kind": "Pod", "namespace": "monitoring", "name": "event-exporter-79544df9f7-xj4t5", "uid": "b77d3e13-fa9e-484b-8a5a-d1afc9edec75", "apiVersion": "v1", "resourceVersion": "14043435", "fieldPath": "spec.containers{event-exporter}", "labels": { "app": "event-exporter", "pod-template-hash": "79544df9f7", "version": "v1" } }}咱们能够把更多的字段退出到告警信息中, 其中就包含: ...

February 17, 2023 · 3 min · jiezi

关于运维:IoT-边缘集群基于-Kubernetes-Events-的告警通知实现

背景边缘集群(基于 树莓派 + K3S) 须要实现根本的告警性能。 边缘集群限度CPU/内存/存储 资源缓和,无奈撑持至多须要 2GB 以上内存和大量存储的基于 Prometheus 的残缺监控体系计划(即便是基于 Prometheus Agent, 也无奈撑持) (须要防止额定的存储和计算资源耗费)网络条件,无奈撑持监控体系,因为监控体系个别都须要每 1min 定时(或每时每刻)传输数据,且数据量不小; 存在 5G 免费网络的状况,且拜访的目标端地址须要开明权限,且依照流量免费,且因为 5G 网络条件,网络传输能力受限,且不稳固(可能会在一段时间内离线);要害需要总结下来,要害需要如下: 实现对边缘集群异样的及时告警,须要晓得边缘集群正在产生的异常情况;网络:网络条件状况较差,网络流量少,只只能开明极少数目标端地址,能够容忍网络不稳固(一段时间内离线)的状况;资源:须要尽量避免额定的存储和计算资源耗费计划综上所诉,采纳如下计划实现: 基于 Kubernetes Events 的告警告诉 架构图 技术计划布局从 Kubernetes 的各项资源收集 Events, 如: podnodekubeletcrd...通过 kubernetes-event-exporter 组件来实现对 Kubernetes Events 的收集;只筛选 Warning 级别 Events 供告警告诉(后续,条件能够进一步定义)告警通过 飞书 webhook 等通信工具进行发送(后续,发送渠道能够减少)施行步骤手动形式: 在边缘集群上,执行如下操作: 1. 创立 roles如下: cat << _EOF_ | kubectl apply -f ----apiVersion: v1kind: Namespacemetadata: name: monitoring---apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata: name: event-exporter-extrarules: - apiGroups: - "" resources: - nodes verbs: - get - list - watch---apiVersion: v1kind: ServiceAccountmetadata: namespace: monitoring name: event-exporter---apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata: name: event-exporterroleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: viewsubjects: - kind: ServiceAccount namespace: monitoring name: event-exporter---apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata: name: event-exporter-extraroleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: event-exporter-extrasubjects: - kind: ServiceAccount namespace: kube-event-export name: event-exporter_EOF_2. 创立 kubernetes-event-exporter config如下: ...

February 16, 2023 · 4 min · jiezi

关于运维:如何运维多集群数据库58-同城-NebulaGraph-Database-运维实践

图计算业务背景介绍咱们为什么抉择 NebulaGraph?在公司各个业务线中,有不少部门都有着关系剖析等图摸索场景,随着业务倒退,相干的需要越来越多。大量需要应用多模数据库来实现,开发成本和治理老本绝对较高。 随着图数据库的倒退,相干零碎利用越来越成熟,于是引入业余图数据库来满足这部分业务需要的事务也提上日程。接下来要思考的问题就是图数据库选型了。 首先,NebulaGraph 有大量互联网大厂利用案例,阐明 NebulaGraph 能够应答海量数据的图摸索场景。另外,目前 NebulaGraph 在 DB-Engines 在图数据库畛域排名 14,而且增长势头强劲。排名靠前的图数据库,局部不开源或者单机版开源,场景受限。 NebulaGraph 理论测试体现如何在导入性能上,数据量小的时候 NebulaGraph 的导入效率稍慢于 neo4j,但在大数据量的时候 NebulaGraph 的导入显著优于其余两款图数据库。在 3 种查问场景下,NebulaGraph 的效率都显著高于 neo4j,与 HugeGraph 相比也有肯定的劣势。 实用场景有哪些公司有多种线上业务,工程复杂度和架构复杂度都较高,各个业务部门都须要专门的图数据库来实现对实体关系数据的解决和摸索。 通过图数据库实现对工作依赖的运行工夫进行监控,及时获取提早工作、销售激励平台工作血缘关系解决、剖析利用外部的类/办法级调用关系、业务危险数据分析、记录企业高管、法人、股东关系,用于签单业务等场景。 资源申请和集群治理形式为了更好的治理和保护,图数据库在运维部门集中运维治理。用户按需在工单平台中提交申请即可,工单中填写具体的资源需要数据和性能需求指标,由运维同学对立审核交付集群资源。 公司目前服务器环境是自建机房,采纳高配物理机,单机多实例混部数据库服务。为了实现规模化治理和保护,须要提前制订好实例规范和规定。 集群规模得益于 NebulaGraph 良好的图计算能力,咱们曾经继续交付集群靠近 20 套,目前还有业务部门在继续申请相干集群服务资源。 NebulaGraph 标准和架构设计因为须要满足大量业务需要,将来会有大量的集群须要交付和保护。为了高效治理和运维规模化的集群,须要提前布局和制订标准。 版本标准目前应用版本为 2.0.1 门路标准程序门路为 /opt/soft/nebula201,该门路下有 bin、scripts、share 等,作为公共的服务依赖门路,从服务门路中抽离进去同样,降级为 3.X 版本,只须要将程序门路抽离进去作为公共的服务依赖门路即可。 服务门路为 /work/nebulagraph+graph 端口,该门路下有 data、etc、logs、pids端口标准集群之间端口递增 5,因为 storage 正本须要端口通信,通常是 storage 端口 -1,例如两套集群 graph 端口别离是 60000 和 60005;每种服务端口和 http、http2 端口之间步长为 10000,例如 graph 端口是 60000,ws_http_port 就是 50000,ws_h2_port 就是 40000;三种服务端口之间相差 1000,例如 graph 端口是 60000,meta 端口就是 61000,storage 端口就是 62000; ...

February 15, 2023 · 2 min · jiezi

关于运维:作业-cobra-02-读取配置配置文件-作业解析和思考题

作业: cobra - 02 读取配置配置文件 (作业解析和思考题)作业要求应用 https://github.com/spf13/cobra 实现命令工具命令具备以下参数 --config , -c 配置文件配置文件如下 # config.ymlname: zhangsanage: 20将配置文件保留为 JSON 格局$ cat config.json输入后果 { "name":"zhangsan", "age": 20}作业解析json 和 yaml 是 最罕用的 配置文件类型, 除此之外还有 ini, toml, xml 等。 解析办法 个别是 Marshal(v any) ([]byte, error) 将构造体 解析 成 []byte 类型。Unmarshal(data []byte, v any) error 将 []byte 映射 到构造体中。 这里的 v 须要是 指针类型另外, 不同的 解析库对应的的 办法名称 和 实现逻辑 也不尽相同, 应用的时候须要本人钻研。有些库, 在名字上可能具备肯定变种,但也有迹可循。 比方 MarshalJSONMarshalYAMl罕用的解析库 json: encoding/jsonyaml: gopkg.in/yaml.v3, gopkg.in/yaml.v2 v2 和 v3 有区别, 本人钻研。思考题?为什么 json 第一次 Name 和 Age 是 大写字母 结尾的?yaml, json 解析库的 解析逻辑程序是什么 ?怎么样疏忽某个字段的解析?

February 15, 2023 · 1 min · jiezi

关于运维:实力获评MobTech袤博科技再度入围上海市优质大数据服务供应商目录

近日,上海市经济和信息化委员会公布了“2022年度上海市优质大数据服务供应商目录”,MobTech袤博科技与挪动、联通、万达信息、第 一财经等知名企业独特入选。这也是继2020年入选后,企业再度入围该目录。据悉,本次共53家大数据服务商进入目录,分为通用技术/产品、垂直行业利用/解决方案,大数据公共服务三大板块。评比要求入选企业在所服务的次要行业畛域影响力大,具备良好成长性;在细分畛域处于劣势位置,具备显明示范性;具备从方案设计、建设施行到运维服务等解决方案供应能力;积极探索新的服务模式和业态,促成大数据技术产业化。凭借面向快消、企业服务、商业地产、公共服务等行业打造出的多款高效、翻新的产品和解决方案,MobTech袤博科技(上海游昆信息技术有限公司)入选其中垂直行业利用/解决方案目录。本次入选,是政 府、客户、社会及相干机构对MobTech袤博科技包含产品、技术、服务在内的综合实力的信赖与必定。MobTech袤博科技是寰球领 先的数据智能科技平台。秉承着“让世界成竹在胸”的愿景,企业以数据利用为主导,交融前沿的大数据、人工智能等多元先进技术,为近百万开发者、企业客户、政 府机构打造出开发工具、企业经营治理、智能营销、用户经营等丰盛的数智产品和解决方案。企业在多个行业和场景落地了颇具影响的标杆案例,服务客户包含阿里巴巴、京东、小红书、喜马拉雅、星巴克、强生、WPS、瑞安团体、印力团体、三大运营商等。通过多年客户服务与实际,企业荣获上海市高新技术企业、上海市“专精特新”中小企业、2021年上海新兴产业企业百强等名称,同时获得多项企业数字化转型优良产品及解决方案奖项,并入选了中国信通院“卓信大数据打算”首批成员单位、大数据技术标准推动委员会成员单位。新年伊始,再传喜报。MobTech袤博科技将继续深耕数据智能,助力行业数字化转型和产业降级。以客户为核心,推动技术创新和实际落地,降级迭代产品,优化客户服务体验,为客户发明价值。

February 14, 2023 · 1 min · jiezi

关于运维:HTTPS基础原理和配置2

〇、概述作为概述,以下是本文要讲的内容。HTTPS 是什么? 每个人都可能从浏览器上认出 HTTPS,并对它有好感。而后再讲一遍基础知识,再具体讲一下协定版本,明码套件(Cipher Suites),本文的重点会落在如何配置 NGINX,让你的网站应用 HTTPS 服务。 除此之外,还有一个应用 HTTPS 作为代理的问题; 所以,如果你的 NGINX 在另一个应用程序的后面,你如何设置NGINX 作为 HTTPS 客户端。 在这里,我会介绍一些办法,用以查看你的 HTTPS 配置,以看到它是最平安的和最新的,以及一些额定主题,帮忙你失去你须要的 A+ 级别的平安。 本文波及以下内容: 什么是 HTTPS协定版本明码套件证书下一篇的内容将包含: 配置 NGINX后端 HTTPS查看配置配置 HSTSOCSP Stapling一、什么是 HTTPS你可能猜到了,HTTPS 就是 HTTP 加 S, S 代表平安(Security)。就网络而言,有两种协定,别离叫做 SSL 和 TLS。它们能够调换应用。然而,「平安协定」(a security protocol)是位于通信之上的平安层。如果你想一下OSI 七层网络模型,那么它位于第 7 层的上面即第 6 层,叫做表示层。 在客户端和服务器之间,它向您提供的是数据的保密性。因而,所有从客户端发送到服务器的信息都是齐全加密的,所以只有两个人晓得如何读取信息,那就是客户端和服务器。它还提供了一种模式的身份验证,在这种身份验证中,客户机能够晓得服务器到底是谁。这些都交错在握手(handshake)的概念中。 1.1 SSL 握手 (Diffie‑Hellman) 客户端:客户端发送 hello、客户端随机(client random)和受反对的明码套件(cipher suites)给服务器;第二步 2a:服务器发送服务器随机(server random)和公钥证书(public key certificate)(也会发送一个用于会话复用的session ID)给客户端。2b:客户端随机、服务器随机和公钥证书的密钥签名。服务器发送服务器 DH (Diffie‑Hellman) 参数和密钥签名(signature)给客户端。客户端发送客户端 DH 参数给服务器。客户端和服务器都从服务器 DH 参数和客户端 DH 参数中取得雷同的 premaster secret。客户端和服务器都从客户端随机、服务器随机和 premaster secret 中取得雷同的会话密钥(session keys)。客户端能够从服务器申请内容,并且申请将被加密。(也发送了会话复用的会话票据(session ticket))上图是 SSL/TLS 握手流程。这有点简单; 有很多可挪动的局部,但实质上,如果你退一步看,它是在客户端和发送加密信息的服务器之间额定的一到两次往返。在这种状况下,你有几个选项——有服务器随机,有客户端随机; 这些都是你不须要晓得的深奥的货色。 ...

February 14, 2023 · 2 min · jiezi

关于运维:必示说第三期智能运维系统效果实现上篇

【必示说】第二期:《能力构建与场景实现双轮驱动,逐步完善智能运维体系》提出,企业智能运维系建设过程中,能力构建是顶层设计,场景实现是外围抓手。能力构建时应思考平台、算法、利用和产业四种能力的构建和交融。而场景实现时应以要事优先的准则,通过场景驱动,先解决首要问题,再循序渐进欠缺智能运维零碎。企业依据本底状况、首要解决问题、建设阶段以及数据品质状况的不同,建设门路并不是相对的。而无论建设门路如何布局,“向智能运维零碎要成果”是肯定的。本期将围绕“智能运维零碎成果实现”为主题,心愿能够为打算和正在做智能运维落地的企业带来参考。 智能运维行业回归感性的标记-从AI到Ops人工智能技术自1950年图灵测试开始,从实践钻研、技术冲破到实际落地,经验了漫长的过程。而在IT运维行业,依据以后AI3.0的理念(数据、常识、算法、算力),智能运维技术能够将运维常识,海量、高速、多元多模态的运维数据,同智能零碎的算法和算力联合在一起,联合专家教训解决和解决运维问题。依据Gantner的白皮书,比照智能运维在世界和中国范畴内的成熟度曲线,中国在智能运维畛域当先于世界平均水平,处于靠前地位,绝对会更快地达到成熟落地阶段。从整体趋势来讲,中国的智能运维平台以后曾经过了“对AI技术关注和预期超出事实”的过热期,将于2-5年达到最终成熟的本质生产阶段。“从AI到Ops,回归感性、重视在运维畛域的实际效果”是以后智能运维行业的主旋律。 智能运维回归感性的阻碍与应答之策随着业务需要一直激增、新产品迭代越来越快,零碎规模越来越大,运维数据愈发庞杂,以银行、证券、保险、运营商为代表的行业早已开启智能运零碎的摸索和落地施行。在此过程中有些运维人员产生了一些纳闷。总体来说,IT运维行业能够清晰地找到须要解决问题(运维人员面对海量运维数据莫衷一是),也有技术门路(智能运维技术),既然回归感性(成熟落地,解决运维问题),看起来貌似指标、门路都有了,然而成果有时却和设想的有些差距。其实从另一个角度来讲,谋求成果自身也是智能运维行业逐步回归感性的标记。当人们遇到窘境莫衷一是时,总是期待有个“超级英雄”横空出世,霎时解决掉所有问题。而事实中,AIOps并不是能够霎时解决所有问题的“超级英雄”,而是通过常识积攒和机器学习,一直成长和晋升,以人工协同的模式为运维人员服务的工具。智能运维零碎出成果过程中阻碍可能有很多,其中最重要的一点是没有对智能运维的具体成果达到全行业内产学研用的共识。智能运维从认知到落地施行出成果的环节有很多,从布道宣传、厂商产品的定位、市场营销介绍、售前工程师的解说、POC的测试内容,而后进入到商业的洽购投标参数、SOW交付物约定,用户、项目经理和领导对智能运维我的项目的了解和期待,最初到我的项目验收规范等。每个环节对智能运维的价值诉求和边界都有穿插又不齐全重合,最终就导致了最开始的布道宣传环节和最初的验收环节具备显著的偏差。指标和意识不统一,导致口头不统一,最终造成施行过程中产生大量的无用功。反之如果指标统一,就能够将指标抓大放小、正当合成和分工。所以智能运维在企业要想落地出成果,要害是可量化度量AIOps价值,并以此作为贯通产品研发和我的项目施行全周期的外围抓手。智能运维零碎在企业成熟落地时,价值和成果是掂量落地胜利与否的规范。对于“利用AI技术解决运维问题”的智能运维畛域,无论是价值实际,还是成果实现,毋庸置疑地指向了IT运维零碎的稳定性上。而每个需要的平台针对其要实现的性能,都应有可量化度量的价值,并由此设定指标。企业在做智能运维零碎布局时,无论是零碎整体指标,还是分期建设的阶段性指标,都应答齐“可量化度量”的价值。而这对智能运维的服务商也同样实用,必示智能运维产品矩阵以“运维零碎稳定性”为指标,从事前预测和防备、事中疾速剖析定位和解决、预先教训常识积淀,并以此为循环,在防备和解决运维问题的同时一直晋升智能运维平台能力,最终升高MTTR,缩短MTBF。详见【必示说】第一期:以“运维零碎稳定性”为指标打造智能运维产品矩阵。 智能运维“出成果”的妨碍与破解之道AIOps零碎实质上是一个以运维监控数据和运维畛域常识为输出、算法和规定联动、各类组件并联串联、人机协同的大型分布式软件系统。在成果(价值)指标可量化和对齐的根底上,智能运维零碎在具体落地实际中仍然会受到数据范畴、数据品质、组织架构、推动力度、资源投入、人员配合度、运维常识积攒等多方面掣肘。看起来困难重重,但具体实施中也是有成熟的办法撑持解决的。依据毛泽东《实践论》和达里奥“五步胜利法”,在以“成果”为导向的智能运维零碎的落地施行中,须要多方合作、一直迭代。依据澳门大学倪明选老师的协“合作式迭代流程”利用于智能运维畛域的思路,我的项目启动时,由领域专家给出大抵的指标并通过三方探讨,在由数据科学家精准定义指标后,由工程师来搭建零碎或实现剖析算法。此过程中由数据科学家对系统或算法进行评估,如不称心就进入微迭代过程。由数据科学家与工程师探讨微迭代的解决方案并定义指标再进入施行和评估的过程。如后果称心,便进入与业务零碎对接的“主迭代“过程,之后由领域专家评估业务对应后果后,再判断后果是否达到预期以及是否有新的需要...最终通过多方合作和循环迭代,解决智能运维零碎在落地施行出成果所面临的具体问题。智能运维零碎建设可量化指标确定了,以出成果为导向的办法门路有了,那么最终如何掂量和评估以后智能运维成果?在具体我的项目验收时,既要摒弃“案例式”成果,同时也不要适度期待“生产成果”。在合作式迭代中对于后果的验收过程,“复盘成果+生产成果”能力主观反映智能运维零碎的成果和价值。 结束语在智能运维行业逐步回归感性的趋势下,各企业都更关注成果和价值实现的问题。在以成果为导向的智能运维零碎搭建过程中,首先要确定可量化度量和多方对齐的价值,并在此基础上制订全局或阶段性指标,引入合作式迭代流程来逐渐解决问题,最初通过迷信的“复盘成果+生产成果”来进行成果掂量。必示科技服务了60余家以金融行业为代表的数字化转型头部企业,有很多企业在智能运维零碎建设时均获得了不错的成果。咱们将在【必示说】第四期:智能运维零碎成果实现(下篇)总结咱们服务过的企业在智能运维零碎实际落地中“出成果”的教训,敬请期待。

February 13, 2023 · 1 min · jiezi

关于运维:QCon演讲实录上多云环境下应用管理与交付实践

作者:阿里云大数据根底工程技术团队——郭耀星 大家上午好!我是来自阿里云大数据根底工程技术团队的郭耀星,花名雪尧。明天我很快乐可能来到QCon,与大家分享我的教训和心得。在以后的多云环境中,作为运维撑持团队,如何在决裂重大、存在多个不同环境的异构Kubernetes底座状况下,高效率地治理与交付业务利用,是一个值得探讨的话题。 在开始正式分享之前,先做一个简略的自我介绍,我是 17 年武汉大学毕业,之后始终在阿里云的计算平台大数据根底工程技术团队,从事大数据运维平台的研发工作,也算是见证了大数据运维平台继续迭代演进的过程。 在我刚入职之后,我负责过多个运维中台服务的开发和建设。起初随着大数据架构从物理机向云化转变,我逐渐开始从事容器化相干的革新,再到当初齐全是云原生的天下。在这个过程中,我主导了咱们这边的 ABM,也就是大数据运维平台,在专有云及公共云上,几十个利用从物理机到 on K8S 的转型,这个过程很苦楚,但也以此为契机,积淀出了一套多云环境下的云原生下利用治理与交付的服务以及绝对应的实践经验,冀望在接下来的工夫里与大家分享。 明天我分享的内容次要有四个局部: 多云环境利用治理与交付痛点实践后行:OAM多云环境交付实际 - 微服务 / 大数据产品 / SREWorks开源社区要害能力实现与解析:AppManager (OAM Runtime)首先来介绍多云环境下利用治理与交付的痛点,而后看在这些痛点之上,咱们为什么抉择了 OAM 作为咱们的实践模型,以及基于这套实践模型,咱们在多个业务场景下的实践经验,最初是咱们本人研发的这套 AppManager 服务要害能力的实现计划与解析。 多云环境利用治理与交付痛点痛点 1 – 多云环境下的 K8s 底座适配问题首先是第一局部,多云环境下,利用治理与交付的痛点是什么? 因为在对立底层基础架构细节方面的杰出体现,K8S 曾经成为企业多云治理的事实根底。但单服务商的单 K8S 集群真的满足需要么? 答案是否定的,作为基础设施的运维,咱们会和不拘一格的 K8S 集群打交道。有以后已有的各个厂商提供的公共云 K8S 集群,也有专有云版本部署在网络隔离机房环境下的 K8S 集群,以及独自拿进去做日常开发测试的 K8S 集群等等。除此之外,在阿里的外部场景还有更多的虚构 K8S 集群,比方 Flink 全托管场景等。 一般来说,大家常见的诉求是: 须要物理隔离,防止业务间相互影响。只管 K8S 本身提供了 Namespace 级别的隔离,你能够设置每个 Namespace 各自应用的 CPU 和内存,甚至能够应用 Network Policy 配置不同 Namespace 的网络连通性,但这些依然不彻底,企业还是须要一个更加彻底的物理隔离环境,以此防止业务之间的相互影响。须要混合云。混合云场景下,企业心愿能够抉择多个私有云厂商和公有云解决方案,防止受限于繁多云厂商,或升高肯定老本。须要利用异地多活。部署业务多个正本到不同 region 集群,防止单个 region 的断电造成利用的不可用状况,实现不把鸡蛋放在同一个篮子目标。须要环境拆散。为了辨别开发测试生产环境,把这些环境部署到不同的集群。须要肯定的集群拓展性来冲破繁多集群的容量下限。当然从纯正的多集群视角来看,目前计划有 Federation V1 / Federation V2 / OCM 等解决方案,还有多个 kubeconfig 直连的形式。不过这块不是本次探讨的重点,这里并不探讨多集群的问题,而是探讨异构 K8S 底座,多集群计划能够看做是异构 K8S 底座计划的一个子集。 ...

February 13, 2023 · 2 min · jiezi

关于运维:AOps性能火焰图适用于云原生的全栈持续性能监测工具

对于开发及运维人员来讲,火焰图是一个经典的定位性能问题的办法。利用火焰图能够可视化系统资源(cpu占用、内存占用、调度、IO等)的占用状况,从而帮忙技术人员疾速定位资源异样应用的代码级根因,或者察看潜在性能劣化趋势,进而优化零碎和利用的性能。然而,现有风行的火焰图工具往往存在一个或多个局限性,理论利用场景比拟无限。因而,openEuler上的开源我的项目A-Ops中的gala-ops系列组件提供了实用于云原生的全栈继续性能监测火焰图。 传统火焰图在理论利用中的痛点1.传统火焰图工具绝对独立,难以对接第三方插件或集成到运维零碎,在利用中须要有教训的开发人员手动联合其余调试工具剖析定位。 2.因为开销较大,火焰图大多仅仅作为工具在开发和调试阶段被应用,不能在生产环境中常态化部署。所以对于更常见的场景——即理论生产环境中的突发性的性能问题,火焰图并不是定位问题的无效伎俩。 3.生产环境上中部署的利用类型盘根错节,语言纷纷多样,而且很多利用是会调用不同语言的模块。然而每种火焰图工具往往只针对繁多类型的语言。即便同时部署了不同语言的火焰图观测工具,所生成的火焰图数据又难以对立,从零碎角度难以观测不同语言利用的性能占比。 4.传统火焰图往往只能观测过程,线程粒度,是host时代的工具。对于云原生零碎更关注的容器粒度,传统火焰图无奈直观辨别。 gala-ops火焰图的四大个性1.易于部署和集成gala-ops是针对云基础设施灰度故障的利用级/零碎级在线诊断工具,火焰图探针stackprobe集成在其中的gala-gopher组件内。用户只需一键装置gala-gopher后,在配置文件中开启或敞开火焰图探针即可应用。具体的装置部署阐明可参考gala-gopher文档。 gala-ops火焰图默认会在本地生成svg格局的火焰图。另外它也反对pyroscope和grafana等第三方运维平台,仅需在配置文件中填上第三方插件的地址,火焰图探针程序就会定期主动将火焰图数据上传到远端以不便后续剖析和实时监测。以下是gala-ops cpu火焰图对接pyroscope和grafana的示例。通过抉择特定时间段,能够查看到该时间段的火焰图,函数cpu占比排序,配合其余零碎或利用指标能够很不便地发现和定位问题。 2.容器反对云原生零碎中,利用以容器模式部署。传统火焰图中在进行零碎级观测时,最多体现线程名称,若不同容器示例内线程名雷同,则调用栈会合并在一起无奈辨别,影响后续定位定界。gala-ops火焰图探针可能自动识别本机中的pod和container,并在图里减少工作负载,容器和过程号信息。若过程为工作负载/容器内过程,则别离以[Pod]和[Con]前缀标记pod和container,过程以[<pid>]前缀标记。效果图参见下一段附图,可见通过查看调用栈底部第一层,能够显著辨别主机过程和容器过程。 3.全栈反对gala-ops火焰图反对编译型和解释型语言的混合代码调用栈解析。目前已反对的语言包含C,C++,GO,Rust,JAVA。不同语言的利用,同一调用栈中不同语言的函数/办法,用户态和内核态,均可在同一火焰图中对立显示。而且应用gala-ops火焰图前不须要针对不同的语言做额定配置或重新部署利用,即开即用。下图显示了一个实测生成的gala-ops cpu火焰图,以右侧的一个tomcat容器调用栈为例,从底层往顶层看调用关系:tomcat pod内蕴含一个container,containter中有一个pid为2434466的java过程,过程内cpu占用最多的是名为http-nio-8080-e的JVM线程,JVM调用了C库函数thread_native_entry,再往上进入了Java办法java.lang.Thread::run,而后通过一系列的Java办法调用,最终走到了ksys_write零碎调用,而后进入内核态函数。这样一个Java过程从k8s层->OS层->JVM底层实现->Java办法->内核态函数——残缺的调用过程就能够通过gala-ops火焰图追溯到。 4.低开销gala-ops火焰图基于ebpf技术,精简堆栈采样逻辑,实现放弃采样精度(cpu采样频率10ms)的同时对被观测利用性能影响很小(个别在1%左右)。因而,大规模生产环境中也能够继续开启gala-ops火焰图以实时观测利用性能,这样即便呈现利用或系统故障,无需预先重现问题,通过gala-ops火焰图能够回溯以往任意时刻的零碎状态。咱们测试了开关cpu火焰图对不同利用的性能影响:对于自身性能中等,吞吐量中等的利用,例如tomcat,tps劣化在1%以下;对于自身性能较高,吞吐量大的利用,例如kafka,tps劣化在2%以下。后果如下:比照开关cpu火焰图探针对tomcat性能的影响: 比照开关cpu火焰图探针对kafka写入MQ音讯性能的影响: gala-ops火焰图具备易于部署和集成,容器反对,全栈反对,低开销等个性,使得开发者和维护者无论在开发环境还是生产环境均可通过火焰图的模式预测潜在问题和定位已产生问题。 性能的继续欠缺目前gala-ops火焰图曾经反对cpu占用,内存透露两种类型火焰图,后续还会退出对其余系统资源的观测,例如调度、网络IO、磁盘IO等。此外,对其余语言利用的反对也在继续开发中。欢送大家应用gala-ops火焰图,也欢送大家交换和反馈意见,点击https://forum.openeuler.org/t...,即可到openEuler论坛参加探讨!

February 13, 2023 · 1 min · jiezi

关于运维:HTTPS基础原理和配置-1

近期又碰到了SSL相干的事件, 就灵机一动开个新专题 - 《HTTPS根底原理和配置》 本文是第一篇文章, 次要介绍SSL TLS加密协议的相干内容。 加密协议历史概要SSL TLS加密协议其实并没有很长的历史,1995年网景公布了SSL v2.0,这也是web加密的开始。这使得电子商务畛域,人们能够在线提交明码和信用卡,并且至多是相当平安的。 SSLv3.0很快公布,这版被保罗·柯克(Paul Coker)及其他人齐全重写。这是一个十分松软的协定。事实上,IETF采纳SSL v3.0,并使它成为并不是网景独有的协定,叫做TLS(Transport Layer Security)。SSL意思是安全套接字层,但当初叫传输层平安。 所以,TLS v1.0简直和SSL v3.0 截然不同,只是进行了一两个小优化,并且IAF使之标准化。如果你深究这些协定,TLS v1.0实际上就是SSL v3.1;所以你能够认为他们是间断的。 然而最终IETF提出了新版本v1.1(一些小优化),而后是v1.2,引入了一些新的加密算法。然而看到这你可能会想“好吧,有些客户端反对这些,有些客户端反对更新的,这取决于它们公布的工夫. 安全性上可能差不太多". 但理论在平安意义上,这些中的大多数曾经以被破解了。 要害历史节点SSL v2.0 1995年 网景 公布SSL v3.0 1996年公布 修复v2的次要问题TLS v1.0 1999年 IETF公布;对SSLv3小优化TLS v1.1 2006年 公布 小优化TLS v1.2 2008年公布 改良hash和AEAD模式 被破解历史概要首先是SSL v2.0, 设计之初就被破解, 所以,ssl v2.0的确不举荐应用;曾经被破解很长很长时间了,不平安。 咱们常常听到的反对的SSL版本个别也是从SSL v3.0开始的. SSL v3.0呢, 之前始终在用,直到2014年11月被破解。 TLSv1.0和v1.1根本平安。 最新的v1.2(其实当初曾经不算最新的了, TLS v1.3曾经进去了, 然而目前支流的最新协定还是1.2), 是惟一一个还没有针对性攻打的版本(PS: 当然, 近期也有针对TLS v1.2的破绽爆出, 但还算OK)。 TLS有一个凌乱的历史,并没有真正最好的平安记录,但TLS v1.2始终还是最好的,当波及到与浏览器和服务的交互,它内置在简直所有的浏览器和服务器中(最新的)。 所以,TLSv1.2是大势所趋, 如果波及到要害业务数据交互, 如用户要害信息 领取 金融等场景, TLS v1.2能力真正有保障, 而其余老的加密协议, 都曾经被破解了, 黑客想拿到你的数据(如果你用老的加密协议)只是工夫问题, 并不存在技术上的难点。所以评估ATS(苹果的平安相干要求)合规也要求该版本。 ...

February 13, 2023 · 2 min · jiezi

关于运维:Grafana-系列文章十五Exemplars

Exemplars 简介Exemplar 是用一个特定的 trace,代表在给定工夫距离内的度量。Metrics 善于给你一个零碎的综合视图,而 traces 给你一个繁多申请的细粒度视图;Exemplar 是连贯这两者的一种形式。 假如你的公司网站正经验着流量的激增。尽管超过百分之八十的用户可能在两秒内拜访网站,但有些用户的响应工夫超过了失常程度,导致用户体验不佳。 为了确定造成提早的因素,你必须将疾速响应的 trace 与迟缓响应的 trace 进行比拟。鉴于典型生产环境中的大量数据,这将是十分费劲和耗时的工作。 应用 Exemplar 来帮忙隔离你的数据分布中的问题,办法是在一个工夫距离内找出体现出高提早的查问痕迹。一旦你把提早问题定位到几个示范跟踪,你就能够把它与其余基于零碎的信息或地位属性联合起来,更快地进行根本原因剖析,从而疾速解决性能问题。 对 Exemplar 的反对仅实用于 Prometheus数据源。一旦你启用该性能,Exemplar 数据默认是可用的。 Grafana 在 "Explore" 视图和仪表盘中与指标一起显示 Exemplar 。每个 Exemplar 显示为高亮的星星。你能够将光标悬停在 Exemplar 上,查看惟一的 traceID,它是一个键值对的组合。要进一步剖析,请点击 "traceID "属性旁边的蓝色按钮。示例如下: 背景Exemplars 是最近可察看性畛域的一个热门话题,这是有起因的。 与 Prometheus 如何在 2012 年开始破而后立了大规模存储指标的老本构造,并在 2015 年真正实现,以及 Grafana Loki 如何在 2018 年破而后立了大规模存储日志的老本构造相似,Exemplar 也在对 trace 做同样的事件。为了理解起因,让咱们看看云原生生态系统中可察看性的历史,以及 Exemplar 可能实现哪些优化。 外围是,Exemplar 是一种通过 ID 从有意义的指标和日志跳到追踪的形式。Grafana Tempo,Grafana Labs 的 开源、大规模分布式跟踪后端,就是围绕这个想法建设的,因为 Exemplar 使分布式跟踪的老本和性能特色变得好了。现实状况下,你永远不须要对你的追踪进行采样,而 Tempo 让这成为事实。 Prometheus临时疏忽 Prometheus 杰出的可扩展性、压缩性和性能,让咱们把注意力放在标签集上。它们是对于你的工夫序列的元数据。是什么集群、什么服务、哪个客户、什么部署级别等等都能够用非档次的键值对来编码。如果你正在读这篇文章,我很可能不须要压服你这个行业的变动有多大的颠覆性、影响力和持久性;我只是想揭示你,因为它与文本的其余部分无关。 ...

February 12, 2023 · 2 min · jiezi

关于运维:31-岁生日快乐Linux

Linux 迎来了 31 岁生日,所以和我一起庆贺 Linux 的 31 岁生日吧,喝上一杯好香槟和一个美味的蛋糕!尽管有些人不抵赖 8 月 25 日是 Linux 的生日,但我晓得。1991 年 8 月 25 日,21 岁的芬兰学生 Linus Benedict Torvalds 在 comp.os.minix 新闻组上发表了他当初驰名 的申明,他正在为 386(486) AT 克隆 开发收费操作系统,只是作为“喜好”。大家好,应用 minix 的每个人——我正在为 386(486) AT 克隆做一个(收费)操作系统(只是一个喜好,不会像 gnu 那样大而业余)。这从四月就开始酝酿,并开始筹备。我想对 minix 中人们喜爱/不喜爱的货色有任何反馈,因为我的操作系统有点像它(文件系统的物理布局雷同(因为理论起因)等等)。Linus我目前曾经移植了 bash(1.08) 和 gcc(1.40),而且仿佛一切正常。这意味着我会在几个月内失去一些实用的货色,而且我想晓得大多数人想要什么性能。欢送任何倡议,但我不会保障我会施行它们PS。是的——它没有任何 minix 代码,并且它有一个多线程的 fs。它不可移植(应用 386 工作切换等),而且它可能永远不会反对除 AT-harddisks 以外的任何货色,因为这就是我所领有的:-(。他可能做梦也没想到,所谓的“喜好”变成了大众化的货色,Linux当初基本上无处不在,从Android智能手机、Wi-Fi路由器、智能助手和智能冰箱,到大屏幕电视、卫星、和飞机。即便你不应用它,Linux 也在那里,置信我!它为整个互联网、世界 500 强超级计算机、华尔街乃至 ISS(国内空间站)提供能源。就集体而言,我不喜爱“往年是 Linux 之年”这句话,因为 Linux 在咱们的生存中曾经存在了 31 年,而且它始终是 Linux 之年。我喜爱 Linux 已有 20 多年了,我依然记得我的第一个 Mandrake Linux 和 Red Hat Linux 装置,以及装置 Slackware Linux 的难度。事不宜迟,让咱们举杯祝 Linux 31 岁生日快乐!多年来,Linux 的精彩将持续留在 9to5Linux.com 上,以获取最新的 Linux 新闻和开源软件版本。31 岁生日快乐,Linux! ...

February 12, 2023 · 1 min · jiezi

关于运维:Grafana-系列文章十四Helm-安装Loki

前言写或者翻译这么多篇 Loki 相干的文章了, 发现还没写怎么装置 当初开始介绍如何应用 Helm 装置 Loki. 前提有 Helm, 并且增加 Grafana 的官网源: helm repo add grafana https://grafana.github.io/helm-chartshelm repo updateWarning: 网络受限, 须要保障网络通顺. 部署架构Promtail(收集) + Loki(存储及解决) + Grafana(展现) Promtail启用 Prometheus Operator Service Monitor 做监控减少external_labels - cluster, 以辨认是哪个 K8S 集群;pipeline_stages 改为 cri, 以对 cri 日志做解决(因为我的集群用的 Container Runtime 是 CRI, 而 Loki Helm 默认配置是 docker)减少对 systemd-journal 的日志收集:promtail: config: snippets: pipelineStages: - cri: {} extraArgs: - -client.external-labels=cluster=ctyun # systemd-journal 额定配置: # Add additional scrape config extraScrapeConfigs: - job_name: journal journal: path: /var/log/journal max_age: 12h labels: job: systemd-journal relabel_configs: - source_labels: ['__journal__systemd_unit'] target_label: 'unit' - source_labels: ['__journal__hostname'] target_label: 'hostname' # Mount journal directory into Promtail pods extraVolumes: - name: journal hostPath: path: /var/log/journal extraVolumeMounts: - name: journal mountPath: /var/log/journal readOnly: trueLoki启用长久化存储启用 Prometheus Operator Service Monitor 做监控 ...

February 11, 2023 · 4 min · jiezi

关于运维:Grafana-系列文章十三如何用-Loki-收集查看-Kubernetes-Events

前情提要IoT 边缘集群基于 Kubernetes Events 的告警告诉实现IoT 边缘集群基于 Kubernetes Events 的告警告诉实现(二):进一步配置概述在剖析 K8S 集群问题时,Kubernetes Events 是超级有用的。 Kubernetes Events 能够被当做是日志来解决,格局也和日志很像,都包含: 工夫组件起因...然而,Kubernetes 默认只长久化了一个小时的事件,以缩小 etcd 的负载。所以,思考利用 Loki 存储和查问这些 Events。 实现看过 我之前的文章 的能够晓得,kubernetes-event-exporter 能够实现对 Kubernetes Events 的收集。 那咱们就利用 kubernetes-event-exporter, 通过最简略的 stdout 形式来输入 json 格局的 event. 另外,再利用 Promtail 的 管道配置,将 NameSpace 作为附加标签增加到导出到 Loki 的日志中。 kubernetes-event-exporter 配置如下: logLevel: errorlogFormat: jsontrottlePeriod: 5route: routes: - match: - receiver: "dump"receivers: - name: "dump" stdout: { }Promtail 配置如下: ...scrape_configs:- job_name: kubernetes-pods-app pipeline_stages: - cri: {} - match: selector: '{app="event-exporter"}' stages: - json: expressions: namespace: involvedObject.namespace - labels: namespace: "" ... 下面的配置会从 Events 的 JSONPath involvedObject.namespace 中获取 NameSpace ,并将其作为一个标签 - namespace 增加。 ...

February 10, 2023 · 2 min · jiezi

关于运维:Grafana-系列文章十二如何使用Loki创建一个用于搜索日志的Grafana仪表板

概述创立一个简略的 Grafana 仪表板, 以实现对日志的疾速搜寻. 有教训的间接用 Grafana 的 Explore 性能就能够了. 然而对于没有教训的人, 他们如何能有一个曾经预设了简略的标签搜寻的仪表板,以帮忙一些团队在排除故障时疾速找到他们正在寻找的货色。尽管 Explore 很适宜这个用例,但对于第一次应用的人,或者中午收到告警的人来说,也可能有点令人生畏。 所以, 尝试通过一些模板变量来创立一个展现日志的 Grafana 仪表板. 步骤实现概述创立个 Logs Panel 的仪表板, 而后增加几个变量, Logs Panel 的 LogQL 表达式引入这些变量. 创立变量因为 Loki 和 Prometheus 共享一套 Label, 所以能够通过 Prometheus 的 Label 来作为 Loki 的变量. 如下图: 这里创立一个能够通过: namespace, pod, 日志过滤条件 筛选日志的仪表板: namespace 变量, 通过该变量获取所有的 namespace 作为变量筛选条件: Type: QueryDataSource: PrometheusQuery: label_values(kube_pod_info, namespace)pod 变量, 通过该变量获取对应 namespace 下的 pod 作为变量筛选条件以放大日志搜寻空间: Type: QueryDataSource: PrometheusQuery: label_values(container_network_receive_bytes_total{namespace=~"$namespace"},pod)Multi-value: 勾选;Include All option: 勾选Custom all value: .*留神,应用container_network_receive_bytes_total作为指标名称来寻找可用的pod,但你能够应用任何指标来代表你环境中的所有pod。search 变量, 通过该变量作为 LogQL 的管道过滤条件, 它被用来理论执行搜寻: ...

February 9, 2023 · 1 min · jiezi

关于运维:100-行-shell-写个-Docker

作者:vivo 互联网运维团队- Hou Dengfeng本文次要介绍应用shell实现一个繁难的Docker。 一、目标在初接触Docker的时候,咱们必须要理解的几个概念就是Cgroup、Namespace、RootFs,如果自身对虚拟化的倒退没有深刻的理解,那么很难对这几个概念有深刻的了解,本文的目标就是通过在操作系统中以交互式的形式去了解,Cgroup/Namespace/Rootfs到底实现了什么,能做到哪些事件,而后通过shell这种直观的命令行形式把咱们的了解组合起来,去模拟Docker实现一个缩减的版本。 二、技术拆解2.1 Namespace2.1.1 简介Linux Namespace是Linux提供的一种内核级别环境隔离的办法。学习过Linux的同学应该对chroot命令比拟相熟(通过批改根目录把用户限度在一个特定目录下),chroot提供了一种简略的隔离模式:chroot外部的文件系统无法访问内部的内容。Linux Namespace在此基础上,提供了对UTS、IPC、mount、PID、network、User等的隔离机制。Namespace是对全局系统资源的一种封装隔离,使得处于不同namespace的过程领有独立的全局系统资源,扭转一个namespace中的系统资源只会影响以后namespace里的过程,对其余namespace中的过程没有影响。 Linux Namespace有如下品种: 2.1.2 Namespace相干零碎调用amespace相干的零碎调用有3个,别离是clone(),setns(),unshare()。 clone: 创立一个新的过程并把这个新过程放到新的namespace中setns: 将以后过程退出到已有的namespace中unshare: 使以后过程退出指定类型的namespace,并退出到新创建的namespace中2.1.3 查看过程所属Namespace下面的概念都比拟形象,咱们来看看在Linux零碎中怎么样去get namespace。 零碎中的每个过程都有/proc/[pid]/ns/这样一个目录,外面蕴含了这个过程所属namespace的信息,外面每个文件的描述符都能够用来作为setns函数(2.1.2)的fd参数。 #查看以后bash过程关联的Namespace# ls -l /proc/$$/nstotal 0lrwxrwxrwx 1 root root 0 Jan 17 21:43 ipc -> ipc:[4026531839]lrwxrwxrwx 1 root root 0 Jan 17 21:43 mnt -> mnt:[4026531840]lrwxrwxrwx 1 root root 0 Jan 17 21:43 net -> net:[4026531956]lrwxrwxrwx 1 root root 0 Jan 17 21:43 pid -> pid:[4026531836]lrwxrwxrwx 1 root root 0 Jan 17 21:43 user -> user:[4026531837]lrwxrwxrwx 1 root root 0 Jan 17 21:43 uts -> uts:[4026531838] #这些 namespace 文件都是链接文件。链接文件的内容的格局为 xxx:[inode number]。 其中的 xxx 为 namespace 的类型,inode number 则用来标识一个 namespace,咱们也能够把它了解为 namespace 的 ID。 如果两个过程的某个 namespace 文件指向同一个链接文件,阐明其相干资源在同一个 namespace 中。以ipc:[4026531839]例, ipc是namespace的类型,4026531839是inode number,如果两个过程的ipc namespace的inode number一样,阐明他们属于同一个namespace。 这条规定对其余类型的namespace也同样实用。 #从下面的输入能够看出,对于每种类型的namespace,过程都会与一个namespace ID关联。 #当一个namespace中的所有过程都退出时,该namespace将会被销毁。在 /proc/[pid]/ns 里搁置这些链接文件的作用就是,一旦这些链接文件被关上, 只有关上的文件描述符(fd)存在,那么就算该 namespace 下的所有过程都完结了,但这个 namespace 也会始终存在,后续的过程还能够再退出进来。2.1.4 相干命令及操作示例本节会用UTS/IPC/NET 3个Namespace作为示例演示如何在linux零碎中创立Namespace,并介绍相干命令。 ...

February 9, 2023 · 10 min · jiezi

关于运维:Grafana-系列文章十一Loki-中的标签如何使日志查询更快更方便

️URL: https://grafana.com/blog/2020... Description: 对于标签在 Loki 中如何真正发挥作用,你须要晓得的所有。它可能与你设想的不同 在咱们从事 Loki 我的项目的第一年的大部分工夫里,问题和反馈仿佛都来自相熟 Prometheus 的人。毕竟,Loki 就像 Prometheus--不过是针对日志的!"。 然而最近,咱们看到越来越多的人尝试应用 Loki,他们没有 Prometheus 的教训,而且许多人来自于具备不同策略的零碎,以解决日志。这就带来了很多对于 Loki 一个十分重要的概念的问题,即便是 Prometheus 专家也想理解更多:标签 (Labels)! 这篇文章将涵盖很多内容,以帮忙每一个刚接触 Loki 的人和想要温习的人。咱们将探讨以下主题。 什么是标签 (Label)?标签是键值对,能够被定义为任何货色!咱们喜爱把它们称为元数据 (metadata),用来形容日志流。如果你相熟 Prometheus,你会习惯性地看到一些标签,比方job和instance,我将在接下来的例子中应用这些。 咱们用 Loki 提供的刮削 (scrape) 配置也定义了这些标签。如果你正在应用 Prometheus,在 Loki 和 Prometheus 之间领有统一的标签是 Loki 的超级劣势之一,使你 非常容易将你的应用程序指标 (Metrics) 与你的日志 (Logs) 数据分割起来。 Loki 如何应用标签Loki 中的标签执行一个十分重要的工作。它们定义了一个流。更确切地说,每个标签的键和值的组合都定义了流。如果只有一个标签值发生变化,就会产生一个新的流。 如果你相熟 Prometheus,那里应用的术语是系列 (series);然而,Prometheus 有一个额定的维度:度量名称 (metric name)。Loki 简化了这一点,没有度量名称,只有标签,咱们决定应用流而不是系列。 让咱们举个例子: scrape_configs: - job_name: system pipeline_stages: static_configs: - targets: - localhost labels: job: syslog __path__: /var/log/syslog这个配置将跟踪一个文件并调配一个标签:job=syslog。你能够这样查问: ...

February 8, 2023 · 4 min · jiezi

关于运维:得物社区计数系统设计与实现

1.前言1.1 社区数字场景社区业务有十分多的数字统计场景,根底的场景次要有以下这些: 用户维度:公布内容数、被点赞数、被珍藏数、关注数、粉丝数、点赞内容数、珍藏内容数等。内容维度:内容点赞数、内容阅读数、内容分享数、内容珍藏数、内容评论数等。标签维度:话题内容数、特效内容数、商品内容数、品牌内容数等。其中局部场景还会有很多细分状况,例如内容相干的统计还会有以下场景: 依据内容类型统计:图文数、视频数、专栏数等。这样排列组合进去的最终后果就有很多了,比方须要查问用户公布的图文内容数、用户点赞的视频内容数等等,且这些数字个别都须要可能反对高度精确性、高性能查问和批量查问等能力。 1.2 具体案例具体案例可参考下列图示: 图1. 个人主页展现获赞与珍藏总数、粉丝数、关注数、公布动静数(视频数、穿搭精选数、专栏数)。 图2. 别人主页展现获赞与珍藏总数、粉丝数、关注数、点赞动静数(视频数、专栏数)。 图3. 话题主页展现话题内容数。 2.逐步浮现的零碎危险2.1 历史计划晚期社区是间接采纳Count数据表+缓存的形式,这种形式在体量较小和单体服务的状况下齐全没问题,而且成本低、性能高、相对精准,但随着社区的体量逐步变大、微服务拆分越来越细之后,该计划就会越来越难以撑持业务。 2.2 零碎危险性能瓶颈和稳定性危险: 一方面业务明细表的体量越来越大,须要通过分库分表来解决问题,分库分表后再用Count聚合的形式性能就会变差。 另一方面业务统计规定越来越简单,应用数据库Count的形式会使数据查问语句越来越简单,容易引发慢SQL从而导致数据库不稳固。 计数业务数据层和缓存都和外围业务局部放在一起,若呈现统计导致的不稳固会影响外围业务场景的应用,从而将小问题变成大问题。 缓存策略问题: 热点穿透问题:局部计数场景下是有新数据就删除缓存的策略,但若呈现热点内容、热点用户时,对应的统计数据(如点赞数、粉丝数)会频繁删除缓存导致穿透的问题,且个别热点内容和用户产生的数据量比拟大、查问量也比拟大,会更容易加剧问题从而引发雪崩。 数据一致性问题:局部计数场景下是定时更新缓存的策略,缓存操作和MySQL操作无奈在一个事务中实现,会产生不统一的问题,且在越频繁变更的场景下差别值就会越大。 3 计数零碎设计与实现 联合以后社区的业务现状、体量以及思考中长期体量增长的布局,咱们也调研了业内比拟常见的一些实现计划,最终敲定通过保护一套计数核心的服务,由计数核心服务对立治理社区的数字统计的形式,整体状况大抵如下: 3.1 写场景该场景下计数核心外部次要干三件事,次要包含数据获取、数据处理、数据长久化。 3.1.1 数据获取数据的获取个别有两种形式,通过接口或通过MQ的形式,既然是平台服务更心愿对业务没什么侵入性,因而咱们目前采纳的次要是MQ的形式。 应用MQ的状况下也有两种计划可取,一种是业务服务依据事件触发MQ音讯,须要业务服务先保障业务数据曾经长久化且须要生产端保障音讯投递无失落,另一种则是间接通过订阅业务数据表binlog的形式,这种形式能够保障业务数据曾经长久化,目前得物已有DTS(数据订阅平台),应用起来也比拟不便且可保障音讯投递不失落,因而咱们目前更多的是采纳第二种计划。 数据获取到后咱们做一些格根底校验,验证是否存在咱们必要的一些字段是否残缺,同时须要验证数据处理的幂等性避免数据反复生产等,通过音讯ID和业务惟一ID做幂等,而后把每行业务数据的各字段格式化成变更前和变更后俩个值且能够辨别出是新增还是更新(binlog音讯体就是这样因而更加不便),之后就能够进入数据处理阶段。 3.1.2 数据处理拿到通过校验和格式化后的数据,依据对应的事件和规定来判断以后变更数据具体要做什么操作,咱们通过具体的案例来看会更直观,如: 场景1. 用户A关注用户B 第一步,判断出该场景下须要变更的统计数,用户A的关注数要+1,用户B的粉丝数要+1。 第二步,提取须要变更的统计数的对象值,如用户A的ID和用户B的ID。 第三步,格式化成统计的格局,对象ID+统计类型+统计数变动值。 第四步,调用数据长久化的办法。 场景2. 用户A公布的图文内容状态由失常变为删除 第一步,判断出该场景下须要变更的统计数,用户A公布的图文内容数要-1。 第二步,提取须要变更的统计数的对象值,如用户A的ID。 第三步,格式化成统计的格局,对象ID+统计类型+统计数变动值。 第四步,调用数据长久化的办法。 3.1.3 数据长久化长久化局部次要分为两块,一是DB长久化,二是对于缓存的更新。社区的数字统计场景次要有以下两种状况: 只增不减:如内容分享事件,每次事件触发只须要给内容的分享数+1即可。 既有增又有减:如用户A(关注/勾销关注)用户B事件,须要给用户A关注数(+1/-1),也须要给用户B的粉丝数(+1/-1)。 又因为咱们通过MQ生产数据是无序的,极其状况下可能会呈现先减再加的状况从而导致正数的呈现,因而存储层的字段须要反对有符号的数据,保障最终计算的后果是正确的即可。DB层长久实现后再间接操作缓存变更数字并缩短有效期,若缓存不存在则不解决期待读场景有须要时再解决。 3.2 读场景读场景整体逻辑比拟简洁,就是先查缓存,缓存不存在就查问DB再写入缓存即可,可批量跨场景查问,须要留神对正数状况的解决。 4.总结及布局4.1 总结计数核心是业内比拟常见的做法,绝对于老计划可能升高各个业务对于简单计数场景的保护老本,晋升迭代效率和零碎稳定性,独立进去后在出现异常时业务也可做短时间降级,从而升高对外围业务的影响面。 4.2 布局目前社区已有多个场景接入计数核心,联合以后的现状及将来的可能性,思考后续次要优化方向次要有: 文/小夏

February 7, 2023 · 1 min · jiezi

关于运维:什么是内网穿透为什么使用内网穿透

需要剖析微信公众号的开发过程中,微信服务器和我的项目的后端会互相发送信息。如果须要测试,就必须保障我的项目能够被公网拜访,但大多数状况下家庭网络都是通过了运营商层层 NAT 之后的网络,并没有公网IP,此时就须要应用内网穿透来解决“公网拜访”的问题。 实现内网穿透后,就能够在微信的公众号页面设置 URL 到本人的我的项目上了。 “为什么我的电脑不能被公网拜访到?”晚期的互联网的总设施量还没有那么多,运营商的确会给每个用户都调配一个公网 IP,大家都在公网上其乐融融。 但随着设施减少,IPV4的地址池行将耗尽,运营商不得不缩小 IP 地址的应用来让互联网包容更多的设施,NAT 技术实现了节俭 IP 地址的目标。 NATNAT 全称“网络地址转换”,它容许局域网内的一系列设施应用同一个公网地址发送数据,而路由器会记录下转换的过程,并在收到公网的返回之后依据之前的记录转发给内网。 具体的转换过程是:内网地址+端口 <--> 外网地址+端口,如图: ① 当位于局域网192.168.1.100的电脑1想拜访公网服务器39.100.100.100的 Web 端口8080时,因为它不晓得服务器的具体位置,所以向它的网关(路由器)所在的192.168.1.1发送申请(Request)(这个申请会随机从一个闲暇的高位端口收回,如27777)。 ② 路由器一侧连贯公网(WAN),一侧连贯内网(LAN),当路由器收到申请(Request)后,因为路由器晓得服务器的地位,所以会把数据转发进来,但内网数据包不容许在公网上转发,于是数据会被转化成源地址是公网的地址的数据包,也就是把申请头变成路由器的公网地址122.122.122.122,并且随机应用一个闲暇的高位端口,如60000。 ③与此同时,路由器会记录下内网到外网的转换关系,也就是 192.168.1.100:27777<---->122.122.122.122:60000,如果前面服务器向60000端口返回数据,路由器就晓得这个数据应该返回给电脑1所在的192.168.1.100。在电脑1和服务器的连贯断开之前,这条映射规定不会生效。 ④ 服务器收到数据包后,它只晓得发送人是位于122.122.122.122的路由器,并不知道真正的发送者,所以返回(Response )数据也会发送到路由器的公网地址122.122.122.122 ⑤路由器收到服务器的 Response 后,通过查看NAT 表晓得,这个数据应该返回给电脑1,所以把 Response 发送到192.168.1.100 这样就实现了一次申请和返回,当连贯断开一段时间后,NAT 表的记录生效。 但 NAT 的原理就决定了它有一个问题:公网无奈被动向内网发动申请,这就导致了家里的电脑无奈做服务器。 如图: ① 如果公网电脑被动向路由器发动申请(Request) ② 路由器查问 NAT 表之后发现并没有记录,因而不晓得转发给哪一台内网机器,数据被抛弃。 看到这里读者可能会想,既然能通过 NAT 表实现长期的端口对端口的映射,并且来自公网的 Response 能够转发回来,那么有没有一种办法,能实现一种“短暂的”端口映射,这样公网服务器是不是能够通过特定的端口来被动连贯内网服务器呢? 的确是能够的,而这种形式叫做端口转发,用一个固定的“端口转发表”来记录永恒的转发规定 端口转发如图: ①在路由器中设置好规定:将公网的60000端口映射到内网电脑1的8080端口 ②服务器向路由器发动申请时,发送到122.122.122.122的60000端口 ③路由器通过端口转发表,晓得了该把数据发送到192.168.1.100的8080端口 ④路由器把数据发给电脑1 通过这么一通操作,咱们能够了解成,端口转发把电脑1的8080端口变成了“公网上的端口” DMZ还有一种非凡的端口转发叫做 DMZ,它能够了解为“所有端口都转发”,也就是只有有来自公网的申请,全副都转发给电脑1 那么为什么我用了端口转发还是不能被公网拜访到呢?上文的例子是一个现实状况,它的前提在于:路由器是本人家里装置的,并且运营商给路由器调配的地址是公网地址,换言之,只通过了路由器这一层 NAT 但理论的状况是,在家庭宽带连贯到路由器之前,运营商就曾经进行了好几层 NAT 了,也就是说,或者一个小区通过 NAT 共用了一个 IP 地址,再换句话说,达到我家的网络,曾经是一个内网地址了。如图: ...

February 7, 2023 · 1 min · jiezi

关于运维:Ansible权威指南读书摘要

运维自动化就是将日常重复性的工作通过规定设定使其遵循事后既定规定,在指定的范畴工夫内自动化运行,但整个过程无需人工参加 Ansible是近年越来越火的一款运维自动化工具,其次要性能是帮忙运维实现IT工作的自动化、升高人为操作失误、进步业务自动化率、晋升运维工作效率,罕用于软件部署自动化、配置自动化、治理自动化、系统化零碎工作、继续集成、零宕机平滑降级等。它丰盛的内置模块(如acl、command、shell、cron、yum、copy、file、user等,多达569个)和凋谢的API接口,同时任何遵循GPL协定的企业或集体都能够随便批改和公布本人的版本。 在Ansible去中心化概念下,一个简略的复制操作即可实现治理配置核心的迁徙;Agentless(无客户端),客户端无需任何配置,由治理端配置好后即可应用,这点十分迷人 从自动化工作类型角度归类如下:(1)利用部署:Ansible内置网络、利用、零碎、第三方云平台扩大等欠缺的功能模块,帮助运维疾速实现利用的装置、卸载、降级、启停、配置等部署类工作,即便对跨平台或出名的商业硬件也同样反对。(2)配置管理:配置管理(Configuration Management, CM)是通过技术或行政伎俩对软件产品及其开发过程和生命周期进行管制、标准的一系列措施。配置管理的指标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能失去准确的产品配置。在日益简单的IT环境和用户需要下,Ansible内置File、Template,联合Jinja、Lineinfile等内置模块,同时无缝联合GitHub、GitLab、Git、SVN、Jenkins等支流版本控制和CI继续集成工具,助力配置管理自动化。(3)工作流编排:无效保障Tasks工作流按既定规定和程序实现当时制订的指标和打算,同时Roles编排形式又能在肯定水平上从书写习惯和代码层编排上保障整体我的项目的可架构性和规范性,帮助管制我的项目保护老本不致过高。 装置: yum install ansible -y ansible --version 获取所有文件寄存目录:rpm -ql ansible

February 7, 2023 · 1 min · jiezi

关于运维:Grafana-系列文章十为什么应该使用-Loki

️URL: https://grafana.com/blog/2020... Description: 咱们都晓得为什么 Loki 对日志治理有很大帮忙。但这里有所有的起因,为什么你公司的会计和经营团队也会喜爱 Loki。 为什么应该应用 Loki? —— 降低成本,简化经营,建设更好的团队 除了技术方面的理由,以及它的可伸缩性之外,它的组织收益往往会被低估或漠视。 我想谈谈 Loki 所做的事件——或者更好的是,它能让你防止做什么。这些都是我吃了苦头才学会的。当你裁减人员、团队或我的项目而不是数据集时,这些事件可能是有意义的。 这大抵能够分为两个营垒:老本和过程,假如老本是货币的,过程是组织的。 Loki 技术原理简介首先是对 Loki 工作原理的简要介绍,这应该有助于其余方面的介绍。Loki 是一个具备老本效益的、可扩大的、无偏见的日志聚合器,它次要基于 Prometheus 标签范式,并与 Cortex 内部结构缝合在一起,以实现扩大。. Loki 摄取了你的日志,并使它们能够被搜寻。你晓得,那些蕴含技术债权的无定形体现的文本文件。你的应用程序的软弱的、试探性的故事情节。衡量标准的简短性永远无奈表白的货色。调试日志在阳光和彩虹下看起来毫无用处,但在故障期间却无价之宝。 从实质上讲,Loki 做出了两个抉择,其余所有都继承了这个抉择。 它只对元数据的一部分进行索引,而不是整个日志行。它将其存储层解耦为一对可插拔的后端:一个用于索引,一个用于压缩日志。为什么 Loki 只索引元数据所以,Loki 只对元数据进行索引。这到底是如何使它的运行更具老本效益的,又有多少? 对于全文索引来说,索引自身最终会比它们所索引的数据大,这很常见。而索引的运行老本很高,因为它们须要更低廉的硬件(通常是占用大量内存的实例)。 Loki 基本不对日志的内容进行索引,而只是对其起源的元数据进行索引(标签如app=api,environment=prod,machine_id=instance-123-abc)。 因而,Loki 不须要保护低廉的实例集群来提供大型的全文索引,而只须要放心一小部分的数据。依据教训,这比数据要小 4 个数量级(万分之一)。 因而,一开始,Loki 就把运行索引日志聚合器中通常操作老本最高的局部降到最低。 为什么 Loki 应用对象存储作为日志存储咱们刚刚介绍了 Loki 做出的索引决定;当初咱们来看看 解耦存储 如何帮忙降低成本。毕竟,Loki 也须要存储日志。它通过将它们以压缩块的模式发送到 AWS S3 这样的可插拔对象存储中。 与咱们之前议论的低廉的内存饥饿实例相比,对象存储是白菜价便宜的,十分具备老本效益。日志始终在那里,直到被拜访为止。从实质上讲,渺小的标签索引被用来将申请路由到对象存储中的压缩日志,而后在商业硬件上以高度并行的形式解压缩和扫描。 为了帮忙咱们过渡到更多的面向过程的益处,我想指出的是,当日志记录很便宜时,它打消了缩小日志记录的反常动机。不记录那些调试日志是一种反模式(因为它们的存储和检索老本很高)。当存储便宜的时候,咱们能够防止这些艰巨的决定,并确保咱们在反抗故障时有咱们须要的资源。 Loki 如何缩小你的经营头痛问题当初咱们曾经介绍了咱们的会计人员喜爱 Loki 的起因,让咱们来看看咱们的经营团队为什么也喜爱 Loki 的轻微起因。 因为 Loki 采取了非索引的日志记录形式,它防止了对结构化日志记录的依赖,以推动对日志数据的经营洞察力。这意味着不须要用预处理工具来协调模式定义,也不须要在多个应用程序或团队中尝试扭转这些模式时进行后续的打怪游戏。 构建长期管道工具和向后兼容迁徙的问题其实并不实用。然而,在防止预处理时,有必要提及衡量。在查问时,咱们必须理解如何与数据进行有意义的互动。 然而,这种辨别是如许的好啊!查问工夫的技术债权能够用任何形式治理,并在很长一段时间内治理,或者基本不治理(这也是咱们在查问工夫应用logfmt进行可读性/grepping 的一个次要起因)。 另一方面,摄取工夫的预处理须要微小的后期致力,对变动极其软弱,并导致组织摩擦。 问题始终是,外部各组之间存在着各种各样的应用案例、格局和专业知识。然而这些记录办法中的一个给了咱们围绕这个问题的灵活性,而另一个则没有。 ...

February 7, 2023 · 1 min · jiezi

关于运维:Grafana-系列文章七Grafana-Explore-中的-Tracing

️URL: https://grafana.com/docs/graf... Description: Tracing in Explore Explore 容许你将 tracing 数据源的痕迹可视化。这在 Grafana v7.0+中可用。 反对的数据源有。 JaegerTempoX-RayZipkin对于如何为上述数据源配置查问的信息,请参考特定数据源的文档。 题目。显示根 span 的名称和 trace ID。搜寻。突出蕴含搜寻文本的 span。元数据。对于追踪的各种元数据。Minimap 显示稀释的视图或跟踪工夫线。在最小地图上拖动你的鼠标能够放大到更小的工夫范畴。缩放也将更新主工夫线,所以很容易看到较短的时间跨度。当放大时,将鼠标悬停在最小地图上,将显示重置抉择按钮,以重置缩放。 Timeline(工夫线) 显示 trace 中的 span 列表。每个 span 行由这些组件组成。 开展子 span 按钮。开展或折叠选定 span 的所有子 span。服务名称:记录该 span 的服务的名称。操作名称:该 span 所代表的操作的名称。span 持续时间栏。trace 中操作持续时间的可视化示意。在 span 行的任何中央点击,显示跨度的细节。 Span 细节 操作名称span 元数据Tags。与此 span 相干的任何标签。过程元数据。对于记录此跨度的过程的元数据。日志。此 span 所记录的日志列表和相干的键值。如果是 Zipkin 日志,则显示 Zipkin 的正文。Node graph你能够抉择为所显示的 trace 开展节点图 (node graph)。依据数据源的不同,这能够将 trace 的 span 显示为图中的节点,或者显示一些额定的上下文,如基于以后 trace 的 service graph。 ...

February 4, 2023 · 1 min · jiezi

关于运维:Grafana-系列文章四Grafana-Explore

️URL: https://grafana.com/docs/graf... Description: Explore Grafana 的仪表盘 UI 是对于构建可视化的仪表盘。Explore 剥离了仪表盘和面板选项,这样你就能够。.. Grafana 的仪表盘 UI 是对于构建可视化的仪表盘的。Explore 剥离了仪表盘和面板选项,使你能够专一于查问。它能够帮忙你迭代,直到你有一个无效的查问,而后再思考建设一个仪表盘。 如果你只是想浏览你的数据,而不想创立一个仪表盘,那么 Explore 能够让你更轻松。如果你的数据源反对图形和表格数据,那么 Explore 同时以图形和表格的模式显示后果。这让你能够同时看到数据的趋势和更多的细节。另见。 Explore 中的查问治理Explore 中的日志整合Explore 中的 tracing 整合Explore 中的查看器 (inspector)开始浏览为了拜访 "Explore",你必须有一个编辑或管理员角色,除非启用了 viewers_can_edit 选项。请参考 组织角色,理解每个角色能够拜访的更多信息。 要拜访 Explore: 点击菜单栏上的 "Explore "图标。 一个空的 "Explore "标签就会关上。 另外,从面板中的现有查问开始,从面板菜单中选择 "Explore "选项。这将关上一个带有面板中的查问的 Explore 选项卡,并容许你在仪表板之外调整或迭代该查问。 从左上方的下拉菜单中抉择你的数据源。Prometheus 有一个自定义的 Explore 实现,其余数据源应用其规范查问编辑器。在查问字段中,写下你的查问以浏览你的数据。在查问字段旁边有三个按钮,一个革除按钮(X),一个增加查问按钮(+)和删除查问按钮(-)。就像一般的查问编辑器一样,你能够增加和删除多个查问。拆分和比拟宰割视图提供了一种简略的办法来并排比拟图表,或在一个页面上一起查看相干数据。 要关上宰割视图: 点击宰割按钮,复制以后的查问,将页面宰割成两个并排的查问。能够为新的查问抉择另一个数据源,例如,容许你比拟两个不同服务器的雷同查问,或者比拟 staging 环境和生产环境。 在宰割视图中,两个面板的工夫选择器能够通过点击附在工夫选择器上的一个工夫同步按钮进行链接(如果你扭转一个,另一个也会被扭转)。工夫选择器的链接有助于放弃宰割视图查问的开始和完结工夫的同步。它确保你在两个宰割面板中看到的是同一个工夫距离。 要敞开新创建的查问,请点击敞开宰割按钮。 在 "Explore"和 "仪表板 "之间跳转为了帮忙放慢工作流程,即常常从 Explore 切换到仪表盘,反之亦然,Grafana 为你提供了在从面板的下拉菜单导航到 Explore 后返回原仪表盘的能力。 在你导航到 Explore 之后,你应该留神到 Explore 工具栏中的一个 "返回 "按钮。只需点击它,就能够回到原点仪表盘。要把你在摸索中做出的扭转带回仪表盘,点击按钮旁边的箭头,就能够看到 "带着扭转返回面板 "的菜单项。 ...

February 1, 2023 · 1 min · jiezi

关于运维:阿里云认证改革通知要考试的人抓紧时间呐

随着信息通信技术地一直倒退,各个行业都须要相干的人才来保护运行,而考取一份技能证书是很多从业人员的首选,能够帮忙本人关上行业大门,在工作一段时间后晋升能力,在这之中,最受欢迎的就是阿里云的认证证书,这个厂商占据市场份额的一半,各行各业内都有其单干商,拿到证书后,就业机会很多。 最近阿里云的认证出了改革告诉,有考试需要的人,能够尽快分割认证大使,寻找报名券、题库和学习视频,早早拿到证书,能力取得更好的工作。 1、阿里云云计算助理工程师ACA认证、阿里云大数据助理工程师ACA认证、阿里云人工智能助理工程师ACA认证将于2023年1月4日正式降级改版。即日起至2023年1月3日,此三门认证的考核规范不变,2023年1月4日正式切换新版考核规范。2023年1月4日起,所有曾经激活过此三门认证考试的用户,将主动切换新版课程视频。 2、阿里云云计算高级工程师ACP认证将于2023年4月3日正式降级改版。正式降级前,该认证的考核规范不变。2023年4月3日正式切换新版考核规范,原考核规范即作废。 3、阿里云大数据高级工程师ACP认证将于2023年4月3日正式降级改版。正式降级前,该认证的考核规范不变。2023年4月3日正式切换新版考核规范,原考核规范即作废。

January 31, 2023 · 1 min · jiezi

关于运维:Grafana-系列文章三Tempo使用-HTTP-推送-Spans

️URL: https://grafana.com/docs/temp... Description: 有时,应用追踪零碎是令人生畏的,因为它仿佛须要简单的应用程序仪器或 span 摄取管道,以便 ... 有时,应用追踪零碎是令人生畏的,因为你仿佛须要简单的应用程序仪器或 span 摄取管道能力推送 span。本指南旨在展现一种极其根本的技术,即应用 Zipkin 接收器,从 Bash 脚本中用 http/json 推送 span。 启动 Tempo首先,让咱们在配置好 Zipkin 接收器的状况下启动 Tempo。为了做到这一点,要创立一个配置文件,像这样: server: http_listen_port: 3200distributor: receivers: zipkin:storage: trace: backend: local local: path: /tmp/tempo/blocks并且运行 Tempo: docker run -p 9411:9411 -p 3200:3200 -v $(pwd)/config.yaml:/config.yaml grafana/tempo:latest -config.file /config.yaml推送 Spans当初 Tempo 正在运行,并且在 9411 端口监听 Zipkin spans,让咱们用curl推送一个 span 到它。 curl -X POST http://localhost:9411 -H 'Content-Type: application/json' -d '[{ "id": "1234", "traceId": "0123456789abcdef", "timestamp": 1608239395286533, "duration": 100000, "name": "span from bash!", "tags": { "http.method": "GET", "http.path": "/api" }, "localEndpoint": { "serviceName": "shell script" }}]'请留神,timestamp字段是以微秒为单位的,是通过运行date +%s%6N失去的。duration字段也是以微秒为单位,所以 100000 是 100 毫秒。 ...

January 30, 2023 · 2 min · jiezi

关于运维:如何在FreeBSD中安装NginxMySQLPHPFEMP

本文介绍如何在FreeBSD 13零碎中装置Nginx、MySQL、和PHP服务。零碎环境FreeBSD 13.0-RELEASE更新零碎在装置任何软件之前更新零碎是一个好习惯,以便查看零碎更新:root@freebsd:~ # freebsd-update fetchroot@freebsd:~ # freebsd-update install装置Nginx应用pkg包管理器装置nginx:root@freebsd:~ # pkg install -y nginx 启动nginx要在系统启动时运行 Nginx服务,须要在/etc/rc.conf配置文件的开端增加一行nginx_enable="yes"。运行上面的命令,主动将nginx_enable="yes"附加到rc.conf文件中,而后启动服务:root@freebsd:~ # sysrc nginx_enable=yesroot@freebsd:~ # service nginx startPerforming sanity check on nginx configuration:nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is oknginx: configuration file /usr/local/etc/nginx/nginx.conf test is successfulStarting nginx. nginx相干配置nginx的配置文件在/usr/local/etc/nginx目录中,名称为nginx.conf,能够应用vim编辑器关上配置文件。root@freebsd:~ # vim /usr/local/etc/nginx/nginx.conf user www;worker_processes 1;error_log /var/log/nginx/error.log info;events { worker_connections 1024;}http { include mime.types;default_type application/octet-stream;access_log /var/log/nginx/access.log;sendfile on;keepalive_timeout 65;server { listen 80; server_name localhost; location / { root /usr/local/www/nginx; index index.php index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/local/www/nginx-dist; } location ~ \.php$ { root /usr/local/www/nginx; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }}} ...

January 29, 2023 · 1 min · jiezi

关于运维:Grafana-系列文章一基于-Grafana-的全栈可观察性-Demo

️Reference: https://github.com/grafana/in... 这是对于 Grafana 中可察看性的三个支柱的一系列演讲的配套资源库。 它以一个自我关闭的 Docker 沙盒的模式呈现,包含在本地机器上运行和实验所提供的服务所需的所有组件。 Grafana 全栈可察看性产品 具体的可察看性转换图 前提DockerDocker Compose概述这个系列的演示是基于这个资源库中的应用程序和代码,其中包含: Docker Compose 清单,便于设置。三种服务的利用: 一个从 REST API 服务器申请数据的服务。一个接管申请的 REST API 服务器,并利用数据库来存储/检索这些申请的数据。一个用于存储/检索数据的 Postgres 数据库。Tempo 实例用于存储 trace 信息。Loki 实例,用于存储日志信息。普罗米修斯(Prometheus)实例,用于存储度量 (Metrics) 信息。Grafana 实例,用于可视化可察看性信息。Grafana Agent 实例,用于接管 trace,并依据这些 trace 产生度量和日志。一个 Node Exporter 实例,用于从本地主机检索资源度量。运行演示环境Docker Compose 将下载所需的 Docker 镜像,而后启动演示环境。数据将从微服务利用中发射进去,并存储在 Loki、Tempo 和 Prometheus 中。你能够登录到 Grafana 实例,将这些数据可视化。要执行环境并登录。 在你的操作系统中启动一个新的命令行界面并运行: docker-compose up登录到本地的 Grafana 实例,网址是:http://localhost:3000/ 留神:这是假如 3000 端口还没有被应用。如果这个端口没有闲暇,请编辑docker-compose.yml文件,并批改这一行 - "3000:3000"到其余一些闲暇的主机端口,例如: - "3123:3000"拜访 MLT dashboard. (MLT: Metrics/Logging/Tracing)应用 Grafana Explorer 拜访数据源。 留神: ...

January 28, 2023 · 4 min · jiezi

关于运维:Git-Jenkins-自动化-NGINX-发布简易实现

概述之前基于 GitLab + Jenkins 实现了简略的 NGINX 的自动化公布。具体蕴含如下的组件: GitLab 包含 GItLab 的 WebHook;Jenkins 及其插件: Generic Webhook TriggerPublish Over SSH疑难: 为什么不必 Ansible?答:这里阐明下,之所以不必 Ansible,是因为这个环境默认没有装置 Ansible,而且 Publish Over SSH 也足够用了,就没再用 Ansible 了。 具体阐明这里有 3 个几个自动化 job,如下: Generic Webhook Trigger 用于和GitLab联动, 主动触发 WebHookPublish Over SSH 用于通过SSH 公布NGINX配置阐明: 配置 WebHook 以 test-intranet-nginx 为例进行阐明. 进入该我的项目 -> 设置 -> 集成. 如下图: URL里填入: https://jenkins.example.com/generic-webhook-trigger/invoke?token=Jdy0bTQafyfUUBxJw33k(假如 jenkins.example.com 是 Jenkins 的控制台域名,token 能够在对应的 Jenkins 插件 Generic Webhook Trigger 中找到,这里 token 是用于区别具体是哪个 job。)Trigger 抉择: Push events -> master.按需勾销勾选 Enable SSL verification. 保留. 如下: 阐明: ...

January 27, 2023 · 2 min · jiezi

关于运维:Docker-解决-denied-requested-access-to-the-resource-is-denied

背景因为不可形容的起因,绝对于以前,最近在更加频繁的迁徙服务器,简略的 Shell 脚本曾经不能满足需要了,于是将所有的我的项目 Docker 化。 局部不含敏感配置的我的项目筹备放到 DockerHub 下面,然而在 docker push 的时候报错: denied: requested access to the resource is denied解决方案登录 DockerHub 创立绝对应的我的项目名。 如果在 Docker Desktop 手动登录过了,须要先命令行退出登录: login out从新在命令行登录: docker login -u "Name" -p "Password" docker.io登录胜利后会提醒 Login Succeeded。 对要上传的镜像打 Tag: docker tag your-repository/subname:tagname docker-hub-user-name/your-repository:tagname上传: docker push docker-hub-user-name/your-repository:tagname胜利后提醒: The push refers to repository [docker.io/docker-hub-user-name/your-repository]fbb8711b1824: Pushed b686d86b3388: Pushed 4700545bfd00: Pushed ac24d93be4ae: Pushed 1b5df2fde28f: Pushed 8964dbe7aa60: Pushed 8e012198eea1: Pushed tagname: digest: sha256:965d123457f12345dca0d109a8f720de174139aaf25376a56de76caf1234572b size: 1790留神 ...

January 25, 2023 · 1 min · jiezi

关于运维:Docker-基础-2

容器操作系统类型Busybox集成了一百多个最罕用 Linux 命令和工具的软件工具箱. 蕴含cat echo grep find mount telnet 等 Busybox 是Linux 零碎的瑞士军刀Debian/UbuntuCentOS/FedoraCoreOS官网链接 Linux发行版, 针对容器技术. 创立自定义操作系统的镜像基于commit 命令创立反对用户提交本人对容器的批改, 并生成新的镜像. 命令格局为: docker commit CONTAINER [REPOSITORY[:TAG]] 创立步骤应用OS镜像创立容器配置软件源为国内软件源, 如 ali deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse执行 apt-get update 更新软件包缓存通过 apt-get 装置服务(比方装置 ssh): apt-get install openssh-server创立目录:须要目录 /var/run/sshd 存在, 手动创立: mkdir -p /var/run/sshd. 此时曾经能够启动服务: /usr/sbin/sshd -D &批改服务配置, 勾销pam登陆限度: sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd其余操作:在 root 用户目录下创立 .ssh 目录, 并复制须要登陆的公钥信息(1. 间接从用户目录下的 .ssh/id_rsa.pub 文件拷贝 2. ssh-keygen -t rsa 生成)到 authorized_keys 中: mkdir -p /root/.ssh && vi /root/.ssh/authorized_keys . 公钥信息格式示例如下: ...

January 25, 2023 · 2 min · jiezi

关于运维:Docker-基础-1

镜像获取镜像docker pull 查看镜像信息docker images docker inspect <images id> # 获取镜像的详细信息 搜查镜像docker search 删除镜像docker rmi 当一个镜像领有多个标签,docker rmi 只是删除该镜像指定的标签,并不影响镜像文件当镜像只剩下一个标签时,再应用会彻底删除该镜像先删除该镜像的所有容器,再删除镜像创立镜像2 种办法: 基于已有镜像的容器创立基于 Dockerfile 创立(举荐)基于已有镜像的容器创立docker commit -a: 作者信息-m: 提交信息-p 提交时暂停容器运行-c changelist存出和载入镜像存出:sudo docker save -o ubuntu_16.04.tar ubuntu:16.04 载入:sudo docker load --input ubuntu_16.04.tar 或者 sudo docker load < ubuntu_16.04.tar 导入镜像,以及其相干的元数据信息(包含标签等)容器创立容器应用交互式来运行容器:sudo docker run -it ubuntu:latest /bin/bash docker run在后盾执行的规范操作: 查看本地是否存在指定的镜像, 不存在就从私有仓库下载利用镜像创立并启动一个容器调配一个文件系统,并在只读的镜像层里面挂载一层可读写层从宿主主机配置的网桥接口中桥接一个虚构接口到容器中去。从地址池配置一个 IP 地址给容器执行用户指定的应用程序执行结束后容器被终止守护态运行sudo docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done" ...

January 24, 2023 · 4 min · jiezi

关于运维:Cert-Manager-申请SSL证书流程及相关概念三

中英文对照表英文英文 - K8S CRD中文备注certificatesCertificate证书certificates.cert-manager.io/v1certificate issuersIssuer证书颁发者issuers.cert-manager.io ClusterIssuer集群证书颁发者clusterissuers.cert-manager.iocertificate requestCertificateRequest证书申请certificaterequests.cert-manager.ioorderOrder(证书)订单orders.acme.cert-manager.iochallengeChallenge(证书)挑战challenges.acme.cert-manager.ioSelfSigned 自签名cert-manager Issuer 的一种CA 证书颁发机构Certificate Authority 的缩写;cert-manager Issuer 的一种Vault 金库cert-manager Issuer 的一种,即 Hashicorp VaultVenafi Venafi 在线证书办理服务,目前用的不多。External 内部cert-manager Issuer 的一种ACME 主动证书治理环境Automated Certificate Management Environment 的缩写;cert-manager Issuer, 包含 HTTP01 和 DNS01书接上回, 最初理解一下 cert-manager 的相干概念. 相干概念 Issuer(证书颁发者)Issuers 和 ClusterIssuers 是 Kubernetes CRD,代表证书颁发机构(CA),可能通过兑现证书签名申请来生成签名证书。所有 cert-manager 证书都须要一个被援用的签发者,该签发者处于准备就绪的状态,能够尝试兑现申请。 Issuer 类型的一个例子是 "CA"。一个简略的CA Issuer如下。 apiVersion: cert-manager.io/v1kind: Issuermetadata: name: ca-issuer namespace: mesh-systemspec: ca: secretName: ca-key-pair这是一个简略的Issuer,将依据私钥(私钥存储在 Secret 的ca-key-pair中)签订证书。 Issuer: 限定在一个 NameSpace 的资源;ClusterIssuer: 能够用于在所有命名空间中颁发 "证书"。Certificate(证书)cert-manager 有 Certificate 的概念,定义了所需的 X.509 证书,它将被更新并放弃最新。一个 Certificate 是一个 Kubernetes 的 CRD,它援用了一个 Issuer 或 ClusterIssuer,决定了什么将被授予证书申请。 ...

January 22, 2023 · 2 min · jiezi

关于运维:Cert-Manager-申请SSL证书流程及相关概念二

中英文对照表英文英文 - K8S CRD中文备注certificatesCertificate证书certificates.cert-manager.io/v1certificate issuersIssuer证书颁发者issuers.cert-manager.io ClusterIssuer集群证书颁发者clusterissuers.cert-manager.iocertificate requestCertificateRequest证书申请certificaterequests.cert-manager.ioorderOrder(证书)订单orders.acme.cert-manager.iochallengeChallenge(证书)挑战challenges.acme.cert-manager.ioSelfSigned 自签名cert-manager Issuer 的一种CA 证书颁发机构Certificate Authority 的缩写;cert-manager Issuer 的一种Vault 金库cert-manager Issuer 的一种,即 Hashicorp VaultVenafi Venafi 在线证书办理服务,目前用的不多。External 内部cert-manager Issuer 的一种ACME 主动证书治理环境Automated Certificate Management Environment 的缩写;cert-manager Issuer, 包含 HTTP01 和 DNS01书接上回, 接下来看一下 cert-manager 的证书申请和续期流程. 申请 SSL 证书流程这张图显示了应用 ACME/Let's Encrypt Issuer 的名为cert-1的证书的生命周期: HTTP01 形式cert-manager 能够用来从应用 ACME 协定的 CA 取得证书。ACME 协定反对各种 challenge 机制,用来证实一个域名的所有权,以便为该域名签发无效的证书。 其中一个 challenge 机制是 HTTP01 challenge。通过 HTTP01 challenge,你能够通过确保一个特定的文件存在于该域中来证实该域的所有权。如果你可能在给定的门路下公布给定的文件,就能够认为你管制了该域。 首先,配置 HTTP01 Issuer, 见上文 https://acme-v02.api.letsencrypt.org/directory 就是 Let's Encrypt 的生产环境。对应的,Staging 环境 的 URL 为:https://acme-staging-v02.api.... ...

January 21, 2023 · 7 min · jiezi

关于运维:Cert-Manager-申请-SSL-证书流程及相关概念-一

2022.3.9 用 cert-manager 申请胜利通配符证书 (*.ewhisper.cn), 2022.4.30 该证书间隔过期还有 30 天,cert-manager 进行主动续期,然而却失败了。 而后过了几天,在 2022.5.8, 最终胜利了。如下图: 正好借着这个状况捋一下 cert-manager 的 SSL 证书申请流程以及过程中波及到的相干概念。 中英文对照表英文英文 - K8S CRD中文备注certificatesCertificate证书certificates.cert-manager.io/v1certificate issuersIssuer证书颁发者issuers.cert-manager.io ClusterIssuer集群证书颁发者clusterissuers.cert-manager.iocertificate requestCertificateRequest证书申请certificaterequests.cert-manager.ioorderOrder(证书)订单orders.acme.cert-manager.iochallengeChallenge(证书)挑战challenges.acme.cert-manager.ioSelfSigned 自签名cert-manager Issuer 的一种CA 证书颁发机构Certificate Authority 的缩写;cert-manager Issuer 的一种Vault 金库cert-manager Issuer 的一种,即 Hashicorp VaultVenafi Venafi 在线证书办理服务,目前用的不多。External 内部cert-manager Issuer 的一种ACME 主动证书治理环境Automated Certificate Management Environment 的缩写;cert-manager Issuer, 包含 HTTP01 和 DNS01Cert Manager 简介cert-manager 在 Kubernetes 集群中增加了证书 (certificates) 和证书颁发者 (certificate issuers) 作为资源类型,并简化了获取、更新和应用这些证书的过程。 它能够从各种反对的起源签发证书,包含 Let's Encrypt、HashiCorp Vault 和 Venafi 以及私人 PKI。 ...

January 20, 2023 · 2 min · jiezi

关于运维:APM-vs-NPM

概述APM:Application Performance Monitoring 的简称,即利用性能监控。NPM:Network Performance Monitoring 的简称,即网络性能监控。 技术实现APM: 利用服务器上安装代理NPM:交换机网络流量镜像部署APM:每台应用服务器都需装置代理NPM:所关怀的利用即 ip 加 port 所通过的交换机流量必须全副镜像反对的技术APM:全副利用 java .net php nodejs 各种框架NPM:http,tcp等各种网络协议监控颗度APM:应用服务器上利用外部的全副调用过程,内存对象和线程的全副解析。NPM:则只波及到协定的 request 例如url,无奈深刻部调用。也无奈对交易自动化残缺串联跟踪;然而会有网络设备的网络性能。毛病NPM流量没有走交换机, 比方都是同一台宿主机上的虚拟机, 则无奈监控监控只限于网络层面, 无奈深刻利用和代码如果网络协议加密, 则可能须要私钥进行解密, 或无奈解密, 或解密过程性能耗费较大.无奈监控数据中心以外的数据APM次要反对 JAVA/.Net 等语言的监控, 特定语言(如:C)及特定应用服务器(如:Tuxedo)无奈监控商业 APM 按节点计费, 较难做到全笼罩数据中心, 如果技术栈不反对, 则无奈做到全监控侵入式部署长处NPM数据中心全笼罩(当然,也是有条件的,然而绝对 APM 容易实现)通过相干的网络协议监控,能够更宽泛地实现客户关注的成果针对银行交易有残缺的成熟的解决方案(如:天旦BPC)部署非侵入式APM能够监控到数据中心以外的数据(其实须要 RUM 即 Real User Monitoring)利用性能问题深刻追踪(具体到办法/线程快照/内存快照/异样/日志/同步异步调用等)用户体验治理(用户操作/手机 APP/浏览器)(也是通过 RUM 实现)实用场景APM更关注利用性能问题开发/中间件运维须要对利用/中间件要害指标进行监控和告警零碎架构都是 JAVA/.NET/php/node.js.... (无 C 无 tuxedo) , 则能够进行主动的交易关联, 且监控细粒度会很细.须要对数据中心外的用户体验(如用户点击操作数据/手机APP/浏览器端数据)监控NPM业务监控(典型如银行交易笔数)更关注网络性能问题零碎架构中含有非 .net/JAVA 零碎, 如 Tuxedo无奈承受侵入式部署银行(有残缺的解决方案, 如天旦 BPC)三人行, 必有我师; 常识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

January 18, 2023 · 1 min · jiezi

关于运维:API-网关的功能用途及实现方式

1. API 网关诞生背景前言API 经济生态链曾经在寰球范畴笼罩, 绝大多数企业都曾经走在数字化转型的路线上,API 成为企业连贯业务的外围载体, 并产生微小的盈利空间。快速增长的 API 规模以及调用量,使得企业 IT 在架构上、模式上面临着更多的挑战。 API 是什么API 网关是一个服务器,是零碎的惟一入口。从面向对象设计的角度看,它与外观模式相似。API 网关封装了零碎外部架构,为每个客户端提供一个定制的 API。它可能还具备其它职责,如身份验证、监控、负载平衡、缓存、申请分片与治理、动态响应解决。API 网关形式的外围要点是,所有的客户端和生产端都通过对立的网关接入微服务,在网关层解决所有的非业务性能。通常,网关也是提供 REST/HTTP 的拜访 API。服务端通过 API-GW 注册和治理服务。1. API 凋谢数量一直减少毋庸置疑,随着企业的数据化停顿,微服务革新,不同畛域的 API 层出不穷,早在 2014 年 ProgrammableWeb 便预测 API 矢量可达到 100,000 到 200,000,并会一直增长。API 开发数量的减少给边缘系统带来机会,也随即演变了 API 网关的呈现。大规模的 API 管理系统成为外围的发展趋势。 2. API 服务平台多样化最后的 API 次要针对不同单体利用的网络单元之间信息交互,现已演变到服务间疾速通信。随着人工智能 EI,IOT 的一直演进,依赖 API 的平台不断更新,如 Web,Mobile,终端等,将来将会呈现更多的服务体系。包含不限于: 浏览器IOSAndroidmacOSWindowsLinuxIOT其余挪动端小程序终端设备(如智慧批发、工业的终端等)...... 3. 逐渐替换原有企业的服务模式,API 即商品卖计算,卖软件,卖能力,最终的企业的销售模式会逐渐转变,能力变现,开释数据价值,依靠不同的 API 治理平台发明新的盈利。 API 网关诞生背景随着 API 的整体趋势倒退,每个期间都面临着不同的挑战,架构也随之变动,具体如下图: 1960-1980:阿帕网、ATTP、TCP1980-1990:点对点1990-2000:消息中间件、ESB(企业服务总线,Enterprise service bus),SOA(面向服务的架构)2000 至今:Integration as a service,RESTful services,API 治理,云上编排 ...

January 17, 2023 · 2 min · jiezi

关于运维:Ansible-学习笔记-批量巡检站点-URL-状态

前言不快人快语,不东拉西扯。 速战速决,五分钟学到一个工作用得上的技巧。 通过一个个具体的实战案例,来活泼演示 Ansible 的用法。 需要我须要定期巡检或定时监控我公司的所有站点的首页的可用性状态。 Ansible Playbook 实战脚本check_url_status.yml 如下: ---- hosts: localhost gather_facts: no serial: 10 tasks: - name: check url status uri: url: "{{ item }}" timeout: 10 return_content: no follow_redirects: safe validate_certs: yes with_items: "{{ url_list }}" vars: url_list: - https://www.baidu.com - https://www.taobao.com - https://www.qq.com通过 ansible-playbook ./check_url_status.yml 即可,返回后果如下: 具体阐明这里应用 ansible-playbook 来执行,以编排好的「剧本」模式执行。hosts: localhost 在本机执行此次工作,也能够指定其余机器;serial: 10: 明确定义 Ansible 如何批量执行以后剧本的指标uri: 应用了 URI 插件,参考链接:https://docs.ansible.com/ansi...url: 具体的 要巡检的站点的 URL 地址item 和 with_items: 通过这 2 个参数实现循环批量执行vars: 定义该 Playbook 中用到的变量。返回 json如果须要返回 json 做进一步解决,能够应用 json callback plugin。如下: ...

January 16, 2023 · 1 min · jiezi

关于运维:Ansible-学习笔记-定位主机和组的模式

中英文对照表英文中文备注host主机 group(主机)组 pattern模式 ad hoc特地命令 playbook剧本Ansible 专有名词,一段简单的编排inventory库存Ansible 专有名词flag标记 alias别名 模式(Patterns):定位主机和主机组当您通过一个特地命令(ad hoc)或运行一个剧本(playbook)执行 Ansible 时,您必须抉择要针对哪个受管节点或组执行。模式容许您针对库存(inventory)中的特定主机和/或组运行命令和剧本。Ansible 模式能够援用单个主机、IP地址、库存组、一组 组或库存中的所有主机。模式非常灵活——您能够排除或要求主机子集,应用通配符或正则表达式,等等。Ansible 在模式中蕴含的所有库存主机上执行。 应用模式简直在执行特地命令或剧本时都要应用模式。模式是特地命令(ad hoc command )中惟一没有标记的元素。其通常是第二个元素: ansible <pattern> -m <module_name> -a "<module options>"例如: ansible webservers -m service -a "name=httpd state=restarted"⚠️ 留神: 如果 shell 是 zsh,<pattern> 须要用双引号括起来,如下: ✅ ansible "component*" -m ping❌ ansible component -m ping ,这个会报错:「zsh: no matches found: component」在剧本中,模式是每个剧本的 hosts: 行内容: - name: <play_name> hosts: <pattern>例如: - name: restart webservers hosts: webservers因为您常常心愿一次针对多个主机运行命令或剧本,因而模式通常援用库存组。特地命令和下面的剧本都将对 webservers 组中的所有机器执行。 ...

January 15, 2023 · 2 min · jiezi

关于运维:制作容器镜像的最佳实践

概述这篇文章次要是我日常工作中的制作镜像的实际, 同时联合我学习到的对于镜像制作的相干文章总结进去的. 包含通用的容器最佳实际, java, nginx, python 容器最佳实际. 最佳实际的目标一方面保障镜像是可复用的, 晋升 DevOps 效率, 另一方面是为了进步安全性. 心愿对各位有所帮忙. 本文分为四局部内容, 别离是: 通用容器镜像最佳实际Java 容器镜像最佳实际NGINX 容器镜像最佳实际以及 Python 容器最佳实际通用容器镜像最佳实际应用 LABEL maintainerLABEL maintainer 指令设置镜像的作者姓名和邮箱字段。示例如下: LABEL maintainer="cuikaidong@foxmail.com"复用镜像倡议尽量应用 FROM 语句复用适合的上游镜像。这可确保镜像在更新时能够轻松从上游镜像中获取安全补丁,而不用间接更新依赖项。 此外,在 FROM 指令中应用标签 tag(例如 alpine:3.13),使用户可能分明地理解镜像所基于的上游镜像版本。 禁止应用 latest tag以确保镜像不会受到 latest 上游镜像版本的重大更改的影响。 放弃标签 TAGS 的兼容性给本人的镜像打标签时,留神放弃向后兼容性。例如,如果制作了一个名为example 的镜像,并且它以后为 1.0 版,那么能够提供一个 example:1 标签。后续要更新镜像时,只有它持续与原始镜像兼容,就能够持续标记新镜像为 example:1,并且该 tag 的上游消费者将可能在不中断的状况下取得更新。 如果后续公布了不兼容的更新,那么应该切换到一个新 tag,例如 example:2。那么上游消费者能够依照本身理论状况降级到新版本,而不会因为新的不兼容镜像而造成事变。然而任何应用 example:latest的上游消费者都会承当引入不兼容更改的危险, 所以这也是后面我强烈建议不要应用 latest tag 的起因. 防止多个过程倡议不要在一个容器内启动多个服务,例如 nginx 和 后端 app。因为容器是轻量级的,能够很容易地通过 Docker Compose 或 Kubernetes 链接在一起。Kubernetes 或基于此的 TKE 容器平台通过将相干镜像调度到单个 pod 中,轻松地对它们进行集中管理。 ...

January 14, 2023 · 5 min · jiezi

关于运维:在-NGINX-中根据用户真实-IP-进行限制

需要须要依据用户的实在 IP 进行限度, 然而 NGINX 前边还有个 F5, 导致 deny 指令不失效. 阻止用户的实在 IP 不是 192.168.14.* 和 192.168.15.* 的拜访申请. 实现最简略的实现如下: 前置条件: 须要 nginx 前边的 load balancer 设施(如 F5)开启 X-Forwarded-For 反对. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;if ($proxy_add_x_forwarded_for !~ "192\.168\.1[45]") { return 403;} 阐明如下: proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 获取申请头 X-Forwarded-For 中的用户实在 IP, 并附加到 $proxy_add_x_forwarded_for 变量if... (...) 变量 $proxy_add_x_forwarded_for 不匹配正则 192\.168\.1[45] (即 192.168.14.* 和 192.168.15.*)return 403, 如果上边的条件满足, 返回 403即: 如果实在IP不是 192.168.14.* 和 192.168.15.*, 返回403.如果有更简单的需要, 能够参考这个示例: ...

January 13, 2023 · 1 min · jiezi

关于运维:配置中心与-Feature-Management的区别

很多人在一开始理解性能治理(Feature Management)的时候,会纳闷性能治理与配置核心有什么区别,在这篇文章中咱们来讲讲二者的区别,在比照两者之前咱们先看下它们是什么、别离能解决什么问题以及常见的实现计划有哪些。 一、什么是配置核心?通过配置核心将应用程序中结构化配置进行对立治理,当配置变更后可能在应用程序中实时失效,无效防止了传统模式下批改应用程序配置须要打包、部署、测试、上线等一系列繁琐流程。宽泛用于如微服务利用架构下的配置管理、利用业务参数配置、文案配置等须要满足疾速对线上变更的业务场景。 配置核心的具体实现次要有两大方向:自建或应用第三方组件。最简略的自建计划如将配置存储在数据库中,程序定时从数据库中加载最新配置以实现疾速变更失效。也能够间接应用成熟且性能齐备的第三方开源组件,如 Apollo、Nacos 等。 二、什么是Feature Management?性能治理(Feature Management,也有译作个性治理)是治理「性能」生命周期的软件工程实际,它蕴含了渐进式公布、定向投放、A/B 试验、实时配置变更等针对「性能」粒度全生命周期治理。在继续交付实际中,它使咱们可能做到让每一个变更都能独立部署,并通过渐进式公布来缩小变更危险;可能感知到每一个性能在线上实在环境下用户的应用状况如何;可能清晰地看到新性能产生的业务价值等等。 一个齐备的 Feature Management 零碎不仅要实现「性能」的全生命周期治理性能,还要提供高效的「性能开关」规定下发和多语言客户端获取开关后果等能力,而国内原生反对性能治理实际的开源工具平台只有 FeatureProbe 。 三、两者的区别和关系从下面定义不难看出两者次要区别是解决的问题不一样,配置核心解决的如何利用配置实现对线上疾速变更,而 Feature Management 解决的是如何通过治理「性能」生命周期来实现对性能粒度的精准管控。 从技术角度来看,Feature Management 零碎也须要实现对线上应用程序疾速变更。例如当咱们变更「性能开关」中人群放量规定后,Client 端(应用程序)须要能疾速感知规定的变动来按最新配置规定执行放量解决,从这点来看 Feature Management 零碎能够依靠配置核心来作为开关规定下发链路的底层实现。 这也决定了两者零碎组织构造上相似性,都至多须要由治理平台、下发通路及 Client SDK 组成,不同的中央在于两者的治理平台所提供的业务能力不一样。不过它们下发通路及 Client SDK 提供能力相似,对 Feature Management 而言须要下发开关(实质上也是一个配置)并为应用程序提供拜访性能开关的 SDK,而配置核心同样也须要下发配置和为应用程序提供拜访配置内容的能力。 四、两者互相是否具备替代性既然两者局部性能上有肯定的相似性,那是否具备替代性呢? 比方咱们是否能够间接应用配置核心当成 Feature Management 零碎来应用呢?其实后面有提到,配置核心作为通用配置平台并不关注配置内容,也就意味着你能够对配置做任何定义。以一个最简略性能开关场景为例,比方管制性能A开启或敞开,的确能够通过在配置核心上创立一个针对该场景的 K-V 配置当成开关来满足最根底的性能开关应用场景。 **但这对于 Feature Management 零碎来说是最简略的场景,还要做到对性能粒度的渐进式公布、将性能定向投放给特定人群、A/B 试验及对 Feature 进行价值评估等等,而都是作为配置核心所不具备的。 ** 既然配置核心零碎无奈代替 Feature Management 零碎,那反之用 Feature Management 零碎代替配置核心是否可行?答案是必定的。以 FeatureProbe 为例,在创立「性能开关」时反对4种开关返回值类型,别离是 Number、String、Boolean、JSON,意味着你能够在开关返回值中放上你本来在配置核心的配置内容,再利用  FeatureProbe 提供的 SDK 来获取相应的配置返回值即可。 五、总结最初总结下配置核心与 Feature Management 不同维度的比照: 比照维度配置核心配置核心应用场景自定义结构化配置,满足对线上疾速变更。<li> 继续集成 <li> 部署和公布解耦 <li> 渐进式公布<li>定向投放<li>A/B 试验<li>预案降级用户角色开发人员、QA。<li>开发人员、<li>QA<li>PM<li>SRE<li>经营人员。零碎复杂性较高,以纯文本、JSON 或 K/V 形式治理,须要针对配置内容定制开发满足不同需要。较低,可视化配置,大部分性能治理场景开箱即用。可观测性须要自行定制开发监控逻辑。能够实时监控性能拜访状况并对性能进行成果评估变更疾速失效反对。反对,利用下发通路实现规定疾速失效。须要定期清理很少,大多数配置和业务耦合性较高,须要配合业务长期应用。常常,大多数性能开关都是短期性的,在应用实现后即可清理。以后 FeatureProbe 作为一个 Feature Management 平台曾经应用 Apache 2.0 License 协定齐全开源,你能够在 GitHub 和 Gitee 上间接拜访源码,你也能够在下面给提给咱们提 issue 和 feature哦,咱们看到后会第一工夫回复大家。 ...

January 12, 2023 · 1 min · jiezi

关于运维:秒云荣获四川省创新型中小企业认定

近日,成都市经济和信息化局公布了《2022年第四季度创新型中小企业公示名单》,经企业申报、高新区举荐、成都市经济和信息化局审核等程序,成都元来云志科技有限公司(简称“秒云”)凭借本身的科技创新能力和业余的产品翻新服务,被认定为“四川省创新型中小企业”。据理解,为标准我省优质中小企业评估和认定工作,增强优质中小企业梯度培养治理,促成中小企业高质量倒退,四川省经济和信息化厅依据工业和信息化部《优质中小企业梯度培养治理暂行办法》(工信部企业〔2022〕63号),制订了《四川省优质中小企业梯度培养治理实施方案》,发展四川省优质中小企业梯度培养,由创新型中小企业、专精特新中小企业、专精特新“小伟人”企业独特形成梯度培养体系。其中创新型中小企业是从创新能力、成长性、专业化三类六个指标进行评估认定。作为国内首家专一于云原生智能运维的公司,秒云专一于企业云原生环境下的智能运维需要,以“一秒入云,一键智维”为产品理念,打造一体化的云原生智能运维中台,内置云原生容器治理底座,针对云原生利用进行构建、编排、部署、观测、治理等全生命周期交付治理,疾速、平安、牢靠的落地云原生利用,最大化升高企业在云原生环境上的运维投入,让企业可能更专一于本身利用的开发和交付。凭借过硬的产品实力,秒云产品已胜利利用于电力、运营商、金融、政府、公安、工业制作、教育等多个行业标杆企业,继续播种了行业与客户的高度认可。目前,秒云已被认定为四川省高新技术企业,取得“双软认证”,入库四川省科技型中小企业,并通过了ISO9001品质管理体系认证。此次创新型中小企业的获评,是对秒云在科技翻新、业余程度、发展潜力等各方面问题的认证降级。 将来,秒云将持续保持走专业化、精细化、特色化的倒退路线,致力于通过自主研发和翻新成绩转化,为各行各业的数智化发展提供高质量产品、服务和整体解决方案,为推动城市经济高质量倒退奉献更多力量。对于科技型中小企业科技型中小企业评估方法由科技部、财政部、国家税务总局钻研制订,是指依靠肯定数量的科技人员从事科学技术钻研开发流动,获得自主知识产权并将其转化为高新技术产品或服务,从而实现可继续倒退的中小企业。对于创新型中小企业创新型中小企业评估由工信部钻研制订,是指具备较高专业化程度、较强创新能力和发展潜力的企业,是优质中小企业的根底力量。

January 11, 2023 · 1 min · jiezi

关于运维:用-Python-脚本实现电脑唤醒后自动拍照-截屏并发邮件通知

背景背景是这样的, 我的家里台式机长年 休眠, 并配置了 Wake On Lan (WOL) 不便近程唤醒并应用. 然而我发现, 偶然台式机会被其余状况唤醒, 这时候我并不知道, 后果白白运行了好几天, 节约了很多电. 所以我的需要是这样的: 电脑唤醒后(可能是开机, 有可能是从休眠状态唤醒), 主动做如下几件事: 摄像头拍照(判断是不是有人在应用)屏幕截图(判断是不是有人在应用)生成一封邮件, 通知我「电脑已启动」并附上拍照和截图;发送到我的邮箱.具体实现️ 摄像头拍照✨ 概述: 通过 opencv-python 包实现. 具体的包名为: opencv-python 依赖 numpy 所以装置命令为: python -m pip install numpypython -m pip install opencv-python而后导入语句为: import cv2 源码如下: # 关上摄像头并拍照cap = cv2.VideoCapture(0) # 0 示意关上 PC 的内置摄像头(若参数是视频文件门路则关上视频)# 按帧读取图片或视频# ret,frame 是 cap.read() 办法的两个返回值。# 其中 ret 是布尔值,如果读取帧是正确的则返回 True,如果文件读取到结尾,它的返回值就为 False。# frame 就是每一帧的图像,是个三维矩阵。ret, frame = cap.read() # 按帧读取图片cv2.imwrite('p1.jpg', frame) # 保留图像cap.release() # 开释(敞开)摄像头 屏幕截图✨ 概述: ...

January 10, 2023 · 2 min · jiezi

关于运维:必示说第二期能力构建与场景实现双轮驱动逐步完善智能运维体系

【必示说】上篇文章《以“运维零碎稳定性”为指标打造智能运维场景》次要提出了随着运维工程师被海量运维监控数据吞没,利用AI技术解决运维问题成为必然趋势。以运维业务稳定性为价值和成果导向的智能运维体系包含运维数据平台、事件定位、事件治理、运维重保、危险感知、运维演练六个方面。必示科技以此为指标,通过一直往返的技术研发、工业实际和产品迭代,最终欠缺了必示智能运维产品矩阵。 随着数字化转型的减速推动,银行、保险、券商、运营商等行业的智能运维建设方兴未艾,制作、汽车、电力、交通、物流、环保等行业在国家相干政策推动下也逐步显露头角。抛开各行业底部条件的不同,企业在智能运维能力和场景建设的门路抉择往往有些纳闷,【必示说】第二期,咱们聊一聊《能力构建与场景实现双轮驱动,逐步完善智能运维体系》。 智能运维平台实质上是AI技术与运维业务相结合的产物。从AI技术角度,常识、数据、算法、算力四者必不可少。从智能运维业务角度,国家标准《信息技术服务智能运维第1局部:通用要求》中也提出“以场景实现为核心、以能力域构建为撑持”。在企业建设智能运维过程中,能力构建作为智能运维零碎上层建筑,是须要全盘思考的。 能力构建:智能运维建设的顶层设计运维智能化作为AI技术与传统运维的前沿穿插畛域,处于技术倒退落地的初期阶段,行业用户在各类细分场景中翻新实际,科研学术成绩不断涌现,然而在国内外尚未造成对立的通用规范和技术规范。在根底畛域、技术体系、规模老本和研发模式等方面存在诸多挑战,亟需攻关冲破。而智能运维能力建设是一个体系化的过程,企业在进行智能运维的顶层设计的时候,应思考平台、算法、利用、产业四种能力的构建,彼此交汇交融才会造成较欠缺的智能运维体系的事实要求和将来倒退。 ① 平台:打造智能运维平台、聚焦共性AI能力和数据服务,防止低效率反复研发、烟囱式建设,最终实现智能化研发和利用的常态化能力。 ② 算法:基于AI能力开发框架,面向运维全流程,梳理和构建智能运维算子体系,并进行外围算法冲破的能力。 ③ 利用:围绕运维“品质、效率、老本、平安”四个指标打造标杆利用场景,将AI技术融入运维流程,重点实现降本、增效、提质。 ④ 产业:在自我摸索和晋升的根底上,进一步联结产业一起后退、统一认识、集思广益、带动产业整体晋升。在这个能力体系中,最根底的是运维对象,也就是基础设施,包含网络、服务器、虚拟化、存储、中间件、数据库、利用零碎等。在此基础上,智能运维平台从基础设施中采集运维数据,同时须要为基础设施提供跨专业域协同控制能力。而智能运维平台须要领有运维专属AI服务能力(通过智能运维算子体系提供场景建模、模型训练、能力部署和能力经营等,进行AI能力训练、部署及经营),以及根底能力(工作编排、作业调度、数据处理引擎、计算引擎、采控引擎),和运维数据服务能力(通过常识图谱数据服务提供数据荡涤、数据生成、格局转换和数据共享能力,进行数据接入、解决及服务)。通过运维专属AI服务和运维数据服务的赋能,造成了可落地的利用场景。如聚焦在品质维度,利用场景次要包含风险管理(危险辨认、危险剖析、危险跟踪)、告警治理(告警压抑、告警聚合、告警治理)、故障治理(故障发现、故障定位、故障处理)和沙箱演练(案例复盘和混沌工程)四个方面。除品质外,还包含效率、老本、平安等不同利用场景。在运维场景的根底之上造成了运行危险剖析和治理、智能事件剖析和治理、事件智能处理、常识图谱、智能运维搜寻、混沌工程等解决方案。最初,基础设施、智能运维平台、利用场景和智能利用计划通过标准化、开源、比赛、高校单干等形式,带动产业整体倒退和晋升。而咱们在运维智能化能力构建落地时往往不能欲速不达,通常采取点、线、面、体的程序逐渐实际。点:智能运维的最开始,能够在现有监控和运维工具的根底上,引入一些智能运维的算法,赋能运维流程中的某个环节,辅助运维人员晋升解决的效率。 线:将多个点串起来,综合多种内涵能力造成场景化的利用,逐渐串入生产运维流程,晋升自动化程度。 面:将多条线汇集成面构建平台,积淀各类业务流程中的共性AI能力和对立数据,利用AI技术来重构运维流程,晋升端对端的用户的感知。 体:通过面的构建和晋升,最终造成向上和向下引领产业业务和技术的共进,构建残缺的智能运维的生态化体系。 场景实现:智能运维建设的外围抓手在企业建设智能运维过程中,场景实现是智能运维零碎建设的核心,同时也是”通过AI技术解决运维问题“的抓手。必示科技以“场景实现”为核心,为银行、券商、保险、电信、制作等行业企业提供智能危险感知平台、智能事件治理平台、智能故障剖析平台、智能运维数据平台、运维专属AI算法平台和智能运维演练核心产品矩阵,从事前预测和防备、事中疾速剖析定位和解决、预先教训常识积淀,并以此为循环,在防备和解决运维问题的同时一直晋升智能运维平台能力,最终升高MTTR,缩短MTBF。在企业具体落地实际时,咱们常常被问到场景实现门路的问题。实际上同运维智能化能力构建一样,企业在智能运维零碎落地施行步骤也很难欲速不达,联合必示智能运维产品矩阵,倡议具体建设门路如下:第一阶段:晋升和欠缺要害业务监控能力,并驱动数据汇总和治理。 第二阶段:接入不同告警源对告警进行对立治理,并基于智能告警剖析能力对告警进行精细化治理。此时平台曾经具备了对告警事件进行过滤、屏蔽、压缩、丰盛、定级、处理、跟踪的能力,同时实现告警事件全生命周期管控。 第三阶段:利用运维常识图谱技术对配置、告警、指标、日志等数据进行汇总,造成初步的跨畛域排障剖析能力。 第四阶段:利用排障流程引擎编排故障处理过程,实现要害故障场景的主动诊断和举荐剖析。此时平台曾经具备了成熟的智能故障剖析的能力,并通过专家排障常识和决策常识积淀为排障模型,节俭排障效率。 第五阶段:由被动运维转向被动经营,利用常识图谱技术整合多起源数据,基于人机协同决策引擎初步构建危险感知能力,而对于危险躲避性需求更强烈的行业则能够间接从第二阶段或第三阶段即可开始危险感知能力建设。 第六阶段:针对要害危险感知业务场景,强化危险感知能力,比方变更、容量、根底资源等危险剖析,此时零碎曾经造成风险管理流程闭环。 第七阶段:构建仿真平台,通过流量生成等技术模仿故障状况,构建稳态基线。 第八阶段:利用混沌工程做全面的危险、故障攻防演练,欠缺危险感知、智能监控、和排障剖析等工具,晋升智能化程度,最终构建出高度智能的运维体系。 当然,上述建设门路并不是相对的,依据企业本底状况、首要解决问题、建设阶段以及数据品质的不同,这八个阶段是能够拆分、组合甚至跳跃的。 依据必示科技服务过60余家数字化转型企业的教训来看,大概20%的组件故障导致了80%的业务故障,倡议企业的在智能运维零碎建设时,依据要事优先的准则,以场景驱动,先解决首要问题,再循序渐进建设智能运维零碎。另外,因为数据治理与AIOps落地是相互依赖、互相促进的,为保证数据治理成果和智能运维成果实现得更高效,倡议数据治理与AIOps齐头并进。详见清华大学裴丹传授的文章《AIOps落地的15条准则》

January 9, 2023 · 1 min · jiezi

关于运维:计算机行业是不是最挣钱的非专业能进这一行吗

挣钱是每个人进入社会后的次要指标,想要挣大钱,就肯定要进入一个热门行业,很多人都问过大使,计算机行业是不是当初挣钱的行业,其实这句话对也不对,当初最挣钱的行业必定是娱乐业,然而对于咱们普通人来说,想要在短时间挣钱,计算机行业必定是不二的抉择。依据考察统计,领有业余技术的计算机行业学生,在毕业后的薪资待遇起码是八千左右,几年的倒退后,至多会达到三万以上,甚至二十万的都有。 然而很多非计算机专业的学生就感觉,本人没有技术,那就不能进入这一行了,其实不然。这一行并不是只有码农,后期后我的项目策动,前期有销售,这些都是须要专业知识,然而不必专业技能的岗位,学生能够往这方面倒退,另一方面,大学的课程安顿比拟少,如果学生不打算咋本人的业余上倒退,那么能够利用空闲工夫学习计算机行业的常识,并且考业余证书,以此来为本人进步职业竞争力。本业余的人都曾经开始考据了,非专业的人肯定不能落后,有须要的能够在认证大使上具体理解。 1、阿里云认证 当初国内的IT大厂不多,阿里云就是十分有后劲的一个,其云计算方向,是当初市场占比最大的厂商,霸占了将近一半的市场份额,排到了亚洲第一,世界第三的地位。前期的倒退是也是十分高的,当初市面上有很多阿里云的合作伙伴,考其旗下的认证,将来待业可能性十分高,而且他们的认证有残缺的体系,考生能够依据本人的能力和须要去考适宜的认证,不须要一步一步考。 2、华为云认证 尽管华为云的起步比拟晚,然而始终在稳步回升,曾经做到了全国第二的地位,并且前期会慢慢参加进国家的重大项目中,其在政府和民间的口碑都十分好,将来发展潜力十分大。华为云旗下的认证次要是针对其公司产品的,如果想要进入华为,或者是去华为云的合作伙伴公司内工作,考华为云的认证是十分有必要的。 3、腾讯云认证 和其余认证不同的是,腾讯的认证是依据倒退方向划分了,有开发、运维和架构三个方向,技术人员能够依据本人的需要来抉择,除此之外,还有最根底的从业者认证证书,内容是简略的云产品常识,适宜想从事云产品销售、云产品经理的人。 4、容器认证 作为Linux旗下的认证,容器是当初行业外部惟一的业余容器方向的认证,很多从事这个业余的人,就会抉择这一证书,次要是CKA和CKS两个等级,考生必须要先考完高级,再考高级的,不能够跨考。 5、软考 计算机软件考试,咱们个别成为软考,想要从事计算机行业,这个证书是最无效的,有不同的等级和方向,考生依据本人的需要去考就能够了。

January 9, 2023 · 1 min · jiezi

关于运维:我的基于-JamStack-的新博客

概述明天灵机一动,介绍一下我的新博客站点 —— https://EWhisper.cn。 我是做根底平台 PaaS 运维和架构的,挺喜爱把工作中学到的新常识写下来、记笔记,忽然有一天就抱着「资源共享、天下为公」的理念,分享我的学习心得,也能让我的文章更标准刻度。 我是从 2019 年开始折腾博客的,而后在 2021 年对博客进行了一下全新的改版,在最新版的博客中,无论是应用还是部署,都采纳采纳了 JamStack 的技术架构和工具。目前来看成果也不错。 {% note light %}问题: 《「译文」目前大火的 Jamstack 到底是什么?》{% endnote %} 我的第一代博客第一代网站,目前还在这里留了个底 —— https://www.EWhisper.cn 由 Pelican 动态站点生成器,NGINX Web Server,Docker ,腾讯云 云主机提供反对。主题目前来自Smashing Magazine。 成果如下图所示: {% note info %}参考资料: Pelican 是一个用 Python 编写的动态站点生成器。亮点包含: 间接用 reStructuredText 或 Markdown 格局的编辑器编写内容蕴含一个简略的 CLI 工具来(从新)生成您的站点易于与分布式版本控制系统和 web hooks 对接齐全动态的输入很容易托管在任何中央{% endnote %}第二代 - 基于 JamStack 的博客第二代网站 —— https://EWhisper.cn 由 Hexo 动态站点生成器,七牛云-对象存储和CDN 提供图片存储和URL,腾讯云 CloudBase-动态网站托管 提供动态网站托管反对,valine 或 Twikoo 提供评论零碎技术支持,博客访问量和评论信息存储在 LeanCloud 或 腾讯云 CloudBase-用户治理上,统计分析通过百度统计 和 LeanCloud 来实现,博客首页动静诗词展现由一言开发者核心接口提供。主题目前来自 hexo-theme-fluid。 ...

January 9, 2023 · 5 min · jiezi

关于运维:为什么-java-容器推荐使用-ExitOnOutOfMemoryError

前言好久没写文章了, 明天之所以忽然灵机一动, 是因为昨天呈现了这样一个状况: 咱们公司的某个手机APP后端的用户(customer)微服务呈现内存泄露, 导致OutOfMemoryError, 然而因为通过咱们精心优化的openjdk容器参数, 这次故障对用户齐全无感知. 那么咱们是如何做到的呢? HeapDumpOnOutOfMemoryError VS ExitOnOutOfMemoryError咱们都晓得, 在传统的虚拟机上部署的Java实例. 为了更好地剖析问题, 个别都是要加上: -XX:+HeapDumpOnOutOfMemoryError这个参数的. 加这个参数后, 如果遇到内存溢出, 就会主动生成HeapDump, 前面咱们能够拿到这个HeapDump来更准确地剖析问题. 然而, "小孩儿, 时代变了!" 容器技术的倒退, 给传统运维模式带来了微小的挑战, 这个挑战是革命性的: 传统的利用都是"永恒存在的" vs 容器pod是"短暂长期的存在"传统利用扩缩容绝对艰难 vs 容器扩缩容丝般顺滑传统利用运维模式关注点是:"定位问题" vs 容器运维模式是: "疾速复原"传统利用一个实例报HeapDumpError就会少一个 vs 容器HeapDump shutdown后能够主动启动, 已达到指定正本数...简略总结一下, 在应用容器平台后, 咱们的工作偏向于: 遇到故障疾速失败遇到故障疾速复原尽量做到用户对故障"无感知"所以, 针对Java利用容器, 咱们也要优化以满足这种需要, 以OutOfMemoryError故障为例: 遇到故障疾速失败, 即尽可能"疾速退出, 疾速终结"有问题java利用容器实例退出后, 新的实例迅速启动填补;"疾速退出, 疾速终结", 同时配合LB, 退出和冷启动的过程中用户申请不会散发进来.-XX:+ExitOnOutOfMemoryError就正好满足这种需要: 传递此参数时,抛出OutOfMemoryError时JVM将立刻退出。 如果您想终止应用程序,则能够传递此参数。 细节让咱们从新回顾故障: "咱们公司的某个手机APP后端的用户(customer)微服务呈现内存泄露, 导致OutOfMemoryError" 该customer利用概述如下: 无状态通过Deployment部署, 有6个正本通过SVC提供服务残缺的过程如下: 6个正本, 其中1个呈现OutOfMomoryError因为正本的jvm参数配置有: -XX:+ExitOnOutOfMemoryError, 该实例的JVM(PID为1)立刻退出.因为pid 1过程退出, 此时pod立即出于Terminating状态, 并且变为:Terminated同时, customer的SVC 负载平衡会将该正本从SVC 负载平衡中移除, 用户申请不会被散发到该节点.K8S检测到正本数和Deployment replicas不统一, 启动1个新的正本.待新的局部Readiness Probe 探测通过, customer的SVC负载平衡将这个新的正本退出到负载平衡中, 接管用户申请.在此过程中, 用户基本上是对后盾故障"无感知"的. ...

January 8, 2023 · 1 min · jiezi

关于运维:通过-API-快速创建-AlertManager-silence

概述通常咱们要 silence 某个 AlertManager 的 alert 时,须要通过 UI 界面操作,如下图: 效率有点低,而且不够自动化,那么是否能够有一种方法疾速创立 AlertManager silence 呢? -- 有的,通过 API. API Payloadv1如下: { "matchers": [ { "name": "alername1", "value": ".*", "isRegex": true } ], "startsAt": "2022-04-29T22:12:33.533Z", "endsAt": "2022-04-29T23:11:44.603Z", "createdBy": "api", "comment": "Silence", "status": { "state": "active" }}v2{ "matchers": [ { "name": "service", "value": "rancher", "isRegex": false, "isEqual": true }, { "name": "alertname", "value": "TargetDown", "isRegex": false, "isEqual": true } ], "startsAt": "2022-04-29T10:11:35.656Z", "endsAt": "2022-04-29T12:11:35.656Z", "createdBy": "Casey Cui", "comment": "配置谬误导致的误报", "id": null}具体实现curl 实现 Notes: ...

January 7, 2023 · 1 min · jiezi

关于运维:使用Prometheus监控docker-compose方式部署的ES

需要收集 ES 的指标, 并进行展现和告警; 现状ES 通过 docker compose 装置所在环境的 K8S 集群有 Prometheus 和 AlertManager 及 Grafana计划复用现有的监控体系, 通过: Prometheus 监控 ES. →: Prometheus 监控 ES 架构 具体实现为: 采集端 elasticsearch_exporter能够监控的指标为: NameTypeCardinalityHelpelasticsearch_breakers_estimated_size_bytesgauge4Estimated size in bytes of breakerelasticsearch_breakers_limit_size_bytesgauge4Limit size in bytes for breakerelasticsearch_breakers_trippedcounter4tripped for breakerelasticsearch_cluster_health_active_primary_shardsgauge1The number of primary shards in your cluster. This is an aggregate total across all indices.elasticsearch_cluster_health_active_shardsgauge1Aggregate total of all shards across all indices, which includes replica shards.elasticsearch_cluster_health_delayed_unassigned_shardsgauge1Shards delayed to reduce reallocation overheadelasticsearch_cluster_health_initializing_shardsgauge1Count of shards that are being freshly created.elasticsearch_cluster_health_number_of_data_nodesgauge1Number of data nodes in the cluster.elasticsearch_cluster_health_number_of_in_flight_fetchgauge1The number of ongoing shard info requests.elasticsearch_cluster_health_number_of_nodesgauge1Number of nodes in the cluster.... ...

January 6, 2023 · 5 min · jiezi

关于运维:IoT物联网设备固件升级OTA资源包更新最佳实践实践类

1.什么是固件降级固件降级OTA(Over-the-Air Technology)即地面下载技术,是IoT物联网平台必备的一项根底性能。通过OTA形式,咱们能够对散布在寰球各地的IoT设施进行设施固件降级,而不用让运维人员各地奔走。本文以MQTT协定下的固件降级为例,介绍OTA固件降级流程、数据流转应用的Topic和数据格式。 2.固件降级OTA流程MQTT协定下固件降级流程如下图所示固件降级过程应用的Topic如下列表1.设施端通过以下Topic上报固件版本给物联网平台 。/ota/device/inform/${YourProductKey}/${YourDeviceName}2.设施端订阅以下Topic接管物联网平台的固件降级告诉 。/ota/device/upgrade/${YourProductKey}/${YourDeviceName}3.设施端通过以下Topic上报固件降级进度 。/ota/device/progress/${YourProductKey}/${YourDeviceName} 3.固件降级实战3.1 设施版本信息为了实现固件降级性能,首先设施要正确上报以后固件版本,咱们在设施详情能够查看到。 3.2 固件版本散布当每个设施都精确上报固件版本时,咱们能够在控制台查看到全量设施的版本公布状况。 3.3 上传新版固件当咱们须要做设施固件降级时,首先要上传新版本固件到IoT物联网平台,标记新版本号。 3.4 验证固件新固件上传后,咱们须要筛选测试设施,来验证固件是否失常,防止新固件导致设施业务异样。验证通过后,会看到批量降级性能变为可用状态。 3.5 批量降级点击批量降级菜单,进入降级配置页面。咱们能够从多个维度筛选待降级的设施,配置降级策略。 3.6 降级过程启动固件降级工作后,咱们会看到一个降级批次。点击进入详情,能够看到待降级设施列表。在降级批次详情页面,能够查看所有状态的设施状况,包含:待推送,已推送,降级中,降级胜利,降级失败,已勾销。附录IoT物联网平台推送到设施端的降级音讯Payload示例 { "code":"1000", "data":{ "size":2233916, "extData":{ "info":"双11语料包更新" }, "module":"resource", "sign":"5a1a416f357f17bfa89823d2fd49ef8b", "version":"res-1.2.5", "url":"更新包下载的url地址", "signMethod":"Md5", "md5":"5a1a416f357f17bfa89823d2fd49ef8b" }, "id":1617773607348, "message":"success"}设施固件降级模仿代码 const fs = require('fs');const path = require('path');const mqtt = require('aliyun-iot-mqtt');//设施身份三元组+区域const options = { productKey: "替换pk", deviceName: "替换dn", deviceSecret: "替换ds", regionId: "cn-shanghai"}//建设连贯const client = mqtt.getAliyunIotMqttClient(options);//订阅ota音讯的Topicconst deviceUpgrade = `/ota/device/upgrade/${options.productKey}/${options.deviceName}`client.subscribe(deviceUpgrade)//每次连贯后,上报以后固件版本const deviceInform = `/ota/device/inform/${options.productKey}/${options.deviceName}`client.publish(deviceInform, getFirmwareVersion("1-45-345a"))//OTA过程中,上报进度const deviceProgress = `/ota/device/progress/${options.productKey}/${options.deviceName}`// 音讯解决client.on('message', function(topic, message) { if (topic == deviceUpgrade) { //收到ota音讯,开始降级过程 doUpgrade(message) }})// 本地更新function doUpgrade(message) { message = JSON.parse(message) // 1.从url下载固件包,更新下载进度... client.publish(deviceProgress, getOTAUpgradeData(23)) // 2.依据signMethod验证文件签名是否和sign值统一 // verifyFirmware() // 3.重启设施,降级固件 // burn & reboot()}// 更新降级进度function getOTAUpgradeData(step) { const payloadJson = { "id": 1, "params": { "step": step, "desc": " xxxxxxxx " } } console.log(payloadJson) return JSON.stringify(payloadJson);}// 设施以后固件版本function getFirmwareVersion(version) { const payloadJson = { "id": 1, "params": { "version": version } } console.log(payloadJson) return JSON.stringify(payloadJson);}物联网平台产品介绍详情:https://www.aliyun.com/produc... ...

January 5, 2023 · 1 min · jiezi

关于运维:一体化运维降本增效秒云助力海富通基金打造智能运维平台

随着各行各业数字化转型的继续推动,以及信息化建设的不断深入,IT零碎规模及复杂程度日趋增长。据IDC预测,2021年中国金融行业IT收入规模(包含:软件、硬件、IT服务等)达到2186.02亿元,到2025年将达到3359.36亿元。随同着IT资源越来越丰盛,监控数据量亦呈现出指数级增长态势,导致治理复杂度越来越高,智能运维需要随之加大。 互联网时代,各种各样的行为信息、状态信息、指标信息等都会以日志、指标、事件等状态记录存储下来,通常状况下,这些机器数据零散地散布在各个业务零碎上,对其进行价值开掘的难度较大。就金融业来讲,所有业务场景,数据作为各项业务流动的重要载体,以电子化的状态存储于海量运维数据之中,其价值不可估量。这些数据既包含了零碎层面无关资源耗费的性能特色,还包含业务层面事关客户、账户的交易明细日志。 智能运维作为撑持金融机构数字化业务稳固继续运行的要害伎俩,在将来发展前景广大。一方面,随着金融科技利用的继续深刻,企业数据规模陡增,传统流程化治理的瓶颈一直凸显。日益增长的数据体量下,传统的运维伎俩已难以满足金融机构更加简单的业务监控和平安治理需要;另一方面,通过智能运维伎俩,金融机构能无效监控不同运维场景中的运维资源,并能通过大数据分析(Big Data Analytics)和人工智能(AI)等技术利用及时实现运维全生命周期的智能化治理,从而保障系统稳定性和业务连续性,这也是金融机构可继续倒退的根底。 智能运维在金融畛域利用已成刚需,银行、保险、证券等金融机构正减速建设智能运维体系,基于数据、利用算法、采纳可观测性技术辅助运维成为以后金融及各行业的共识。将自动化运维、智能化运维的新技术与数据管理联合起来,势必要思考到金融业机器数据分析面临的一些共性问题。 金融行业面临的运维难题与挑战►  海量数据——难治理IT环境中包含网络设备、安全设备、服务器、虚拟机、中间件、服务、业务零碎等,从底层硬件到下层软件每时每刻都在产生数据,每天各类日志、告警、指标的数据可达几十TB,随着工夫的推移,势必积淀海量的数据。这些数据里蕴藏着大量要害信息,比方业务的交易日志,服务器指标信息,零碎事件、异样告警等,这些数据是发现问题和定位故障的根据,如何保留海量数据,如何剖析海量的数据,如何从海量的数据中找寻故障的根因是IT运维长期面临的问题。 ►  数据扩散——难对立尽管目前大部分金融单位已有网络监控平台、日志治理平台、Zabbix、Prometheus等运维治理相干工具,但某个工具往往只专一某类特定数据或者某一场景。IT环境下剖析定位问题往往须要多个工具配合,造成了应用不便,更重要的是造成日志数据、事件数据、指标数据、告警数据等多类运维数据扩散存储,造成了数据孤岛,无奈进行数据关联剖析和对立展现。 ►  数据多类——难剖析日志、事件、指标等运维数据,往往以文本(字符串)格局呈现,没有固定格局,因厂商不同而各异,多属于非结构化数据。这些数据无奈间接剖析,甚至难以读懂,对运维人员来说无疑是十分大的挑战。随着人工智能技术的衰亡,将AI使用于运维,应用算法来剖析,代替人做出决策未然成为趋势,它能帮忙企业疾速洞察人力难以企及的故障和问题,精确预测危险,化被动运维为被动运维。但目前大部分的运维平台以监控为主,仅提供查问、展现和告警的性能,剖析能力单薄,更不具备智能算法的能力。其本质还是依赖于人工察看、剖析和定位问题,要求运维人员具备丰盛的运维教训和较高的技术能力。 ►  故障排查——难定位IT零碎宏大而简单,为了实现一个确定的工作,须要多个零碎或服务之间的互相调用,故障产生时,许多零碎或服务可能会同时产生告警。传统的监控运维平台以图表模式展现监控数据,仅仅只能反映某一类或某一种数据的异样,是以繁多的数据视角来出现问题,犹如盲人摸象,只能窥见部分,难以全面的观测整个业务零碎的衰弱状态。这导致对于多层次的零碎架构的故障定位愈发艰难。在大面积故障中找到存在于多零碎架构内的故障根本原因往往须要多部门,多位运维专家同时配合,一一排查。期间耗时耗力,重大影响了业务体验。 秒云助力海富通基金破解运维难题海富通基金治理有限公司成立于2003年4月,是中国首批获准成立的中外合资基金治理公司。截至2021年9月30日,海富通共治理89只公募基金,海富通治理的公募基金资产规模约1380亿元人民币。 同大多数金融行业相似,海富通基金运维同样面临海量、扩散的运维数据,造成剖析定位故障难的问题。在日常的运维中,经常出现这样的场景:业务呈现故障时,须要登录网络设备排查网络设备问题;登录安全设备排除是否收到内部攻打;登录服务器,排查操作系统问题;搜寻中间件、业务系统日志,查看是否有error、warning、exception等异样。这样逐个排查,对运维人员的的技术要求十分高,也须要多人的配合,定位工夫长、投入老本高,重大影响了业务体验。 秒云金融行业解决方案介绍为解决金融行业在运维过程中面临的上述问题,秒云从三个方面和档次动手: 首先建设对立的大数据运维平台,采集全量的日志、指标、告警、事件等运维数据,解决数据扩散,数据孤岛的问题,为后续的数据分析和数据展现提供根底。 其次,以数据平台为根底,集成有监督、无监督、半监督的机器学习算法。依据运维常见问题,将算法使用于日常的运维场景中,如动静阈值告警、告警收敛、指标剖析、告警关联剖析、智能异样日志检测、根因定位等,构建开箱即用的运维场景算法剖析平台。 最初,剖析后果须要出现进去,解决察看难的问题,计划围绕业务零碎拓扑图,展现零碎各组件的拓扑关系,展现和利用零碎相干的日志、事件、指标、告警等数据,以业务的视角做运维,让业务运行状态具备可观测性。在全景的业务运维视图上察看、发现、摸索、定位故障。 秒云基于海富通基金的运维现状和倒退需要,为其提供的计划大抵可归为三局部内容: 首先建设对立的运维数据平台,采集路由器、防火墙、VPN服务器、Linux服务器、Windows服务器、业务零碎的日志、指标、事件等运维数据,为用户提供运维数据查问平台,解决数据扩散,定位问题时登录多套零碎的问题。 其次以可视化形式展现对VPN日志、Windows事件、防火墙事件、主机指标的剖析成果。包含:VPN目标地址TOP10统计、VPN源地址TOP10统计、Windows登录剖析、安全事件分类占比统计、攻击者排名、异样事件趋势等,以图形化形式展示数据中蕴含的信息,让用户从看数据转变为看图形。 最初以“海富通APP”、“基金超市”、“专户理财”等业务的视角构建业务拓扑图,在拓扑图上出现和业务相干的组件、数据以及剖析后果,标记有故障的组件,直观展现业务故障点。 秒云金融行业解决方案亮点通过引入自动化等治理技术手段,实现对各类业务对象运维数据的对立查问和治理,解决了数据孤岛问题;通过机器学习算法,对各类扩散的数据进行对立剖析和对立展现,让用户在一个平台观测、发现和定位问题,极大升高了运维的技术难度和运维投入老本,晋升了运维效率。

January 5, 2023 · 1 min · jiezi

关于运维:使用-K8S-部署-RSS-全套自托管解决方案-RssHub-Tiny-Tiny-Rss

前言什么是 RSS?RSS 是一种形容和同步网站内容的格局,是应用最宽泛的 XML 利用。RSS 搭建了信息迅速流传的一个技术平台,使得每个人都成为潜在的信息提供者。公布一个 RSS 文件后,这个 RSS Feed 中蕴含的信息就能间接被其余站点调用,而且因为这些数据都是规范的 XML 格局,所以也能在其余的终端和服务中应用,是一种形容和同步网站内容的格局。 RSS 宽泛用于网上新闻频道,blog 和 wiki。应用 RSS 订阅能更快地获取信息,网站提供 RSS 输入,有利于让用户获取网站内容的最新更新。网络用户能够在客户端借助于反对 RSS 的聚合工具软件,在不关上网站内容页面的状况下浏览反对 RSS 输入的网站内容。 为什么我还是须要 RSS?两个目标: 通过 RSS 和 RSS 阅读器作为高效率的 Feed 汇合器,免去每日浏览各个网站搜查信息的工夫,发现优质内容,进步浏览效率。通过 RSS Feed, 获取低频但重要的信息,如重要软件更新,预报预警等。Tiny Tiny RSS 简介Tiny Tiny RSS 是一款基于 PHP 的收费开源 RSS 聚合阅读器。须要自行托管和部署,为基于网页的 RSS 阅读器。 RssHub 简介RSSHub 主页 RSSHub 是一个开源、简略易用、易于扩大的 RSS 生成器,能够给任何奇奇怪怪的内容生成 RSS 订阅源。RSSHub 借助于开源社区的力量疾速倒退中,目前已适配数百家网站的上千项内容 次要目标: 将非 rss 格局转换为 rss 以便订阅;正如其 slogan 所言:「 万物皆可 RSS」发现更多乏味的订阅源。比方我通过 RssHub 订阅的内容有: ...

January 5, 2023 · 4 min · jiezi

关于运维:使用Jiralert实现AlertManager告警对接Jira

简介Alertmanager 解决由客户端应用程序(如 Prometheus server)发送的警报。它负责去重(deduplicating),分组(grouping),并将它们路由(routing)到正确的接收器(receiver)集成,如电子邮件,微信,或钉钉。它还负责解决警报的静默/屏蔽(silencing)、定时发送/不发送(Mute)和克制(inhibition)问题。 AlertManager 作为 开源的为 Prometheus 而设计的告警利用, 曾经具备了告警利用各类丰盛、灵便、可定制的性能: Prometheus AlertManager 系列文章Jiralert用于JIRA的Prometheus Alertmanager Webhook Receiver。 JIRAlert实现了Alertmanager的webhook HTTP API,并连贯到一个或多个JIRA实例以创立高度可配置的JIRA Issues。每个不同的 Groupkey 创立一个Issue--由Alertmanager的路由配置局部的group_by参数定义--但在警报解决时不会敞开(默认参数, 可调整)。咱们的冀望是,人们会查看这个issue。,采取任何必要的口头,而后敞开它。如果没有人的互动是必要的,那么它可能首先就不应该报警。然而,这种行为能够通过设置auto_resolve局部进行批改,它将以所需的状态解决jira issue。 如果一个相应的JIRA issue。曾经存在,但被解决了,它将被从新关上(reopened)。在解决的状态和重开的状态之间必须存在一个JIRA transition--如reopen_state--否则重开将失败。能够抉择定义一个 "won't fix" 的决定(resolution)--由wont_fix_resolution定义:有此决定的JIRA问题将不会被JIRAlert从新关上。 装置 JiralertJiralert 的装置比较简单, 次要由 Deployment、Secret(Jiralert 的配置)和 Service 组成。典型示例如下: apiVersion: apps/v1kind: Deploymentmetadata: name: jiralertspec: selector: matchLabels: app: jiralert template: metadata: labels: app: jiralert spec: containers: - name: jiralert image: quay.io/jiralert/jiralert-linux-amd64:latest imagePullPolicy: IfNotPresent args: - "--config=/jiralert-config/jiralert.yml" - "--log.level=debug" - "--listen-address=:9097" readinessProbe: tcpSocket: port: 9097 initialDelaySeconds: 15 periodSeconds: 15 timeoutSeconds: 5 livenessProbe: tcpSocket: port: 9097 initialDelaySeconds: 15 periodSeconds: 15 timeoutSeconds: 5 ports: - containerPort: 9091 name: metrics volumeMounts: - mountPath: /jiralert-config name: jiralert-config readOnly: true volumes: - name: jiralert-config secret: secretName: jiralert-config---apiVersion: v1kind: Secrettype: Opaquemetadata: name: jiralert-configstringData: jiralert.tmpl: |- {{ define "jira.summary" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .GroupLabels.SortedPairs.Values | join "," }}{{ end }} {{ define "jira.description" }}{{ range .Alerts.Firing }}Labels: {{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }} {{ end }} Annotations: {{ range .Annotations.SortedPairs }} - {{ .Name }} = {{ .Value }} {{ end }} Source: {{ .GeneratorURL }} {{ end }} CommonLabels: {{ range .CommonLabels.SortedPairs }} - {{ .Name }} = {{ .Value}} {{ end }} GroupLabels: {{ range .GroupLabels.SortedPairs }} - {{ .Name }} = {{ .Value}} {{ end }} {{ end }} jiralert.yml: |- # Global defaults, applied to all receivers where not explicitly overridden. Optional. template: jiralert.tmpl defaults: # API access fields. api_url: https://jira.example.com user: foo password: bar # The type of JIRA issue to create. Required. issue_type: Bug # Issue priority. Optional. priority: Major # Go template invocation for generating the summary. Required. summary: '{{ template "jira.summary" . }}' # Go template invocation for generating the description. Optional. description: '{{ template "jira.description" . }}' # State to transition into when reopening a closed issue. Required. reopen_state: "REOPENED" # Do not reopen issues with this resolution. Optional. wont_fix_resolution: "Won't Fix" # Amount of time after being closed that an issue should be reopened, after which, a new issue is created. # Optional (default: always reopen) # reopen_duration: 30d # Receiver definitions. At least one must be defined. # Receiver names must match the Alertmanager receiver names. Required. receivers: - name: 'jiralert' project: 'YOUR-JIRA-PROJECT'---apiVersion: v1kind: Servicemetadata: name: jiralertspec: selector: app: jiralert ports: - port: 9097 targetPort: 9097 相应 AlertManager 的配置: ...

January 4, 2023 · 5 min · jiezi

关于运维:必示说第一期以运维系统稳定性为目标打造智能运维产品矩阵

【必示说】卷首语必示科技成立已六载无余,六年以来,咱们始终保持自主翻新路线,聚焦AIOps产品力和创新力的晋升,保持为行业客户一直发明价值,减速智能运维产品和技术在银行、券商、保险、电信、制作等行业中高效和高品质落地。六年间,咱们积攒了一些教训,也获得了一些问题:2022年,必示科技取得了更多客户、行业组织和生态搭档的认可、实现了近两亿元的C轮融资、欠缺了更合乎当下需要及将来趋势的必示智能运维产品矩阵。 回头看,所有过往皆为序章;向前望,所有未来皆可期盼。 智能运维行业的倒退,离不开基础理论、技术体系、市场需求、落地环境等一系列问题的冲破,须要整个生态中的企业在竞争与单干中独特推动。企业的疾速倒退,意味着更大的责任,咱们深信智能运维技术是第一生产力,也深信产学研的交融是推动行业向前倒退的引擎。心之所向、素履以往。作为较早进入智能运维畛域的国家高新技术企业,新年伊始,咱们想在技术创新、产品研发、落地实际等各个方面,对咱们所酷爱的智能运维行业说点什么...【必示说】第一期,咱们以“运维零碎稳定性”为指标 打造智能运维产品矩阵开始。 以“运维零碎稳定性”为指标 打造智能运维产品矩阵新一轮科技反动与产业改革方兴未艾,在数字经济、十四五布局、东数西算等一系列国家政策驱动下,以银行、证券、保险、运营商等行业为代表的泛滥企业迈进数字化转型的浪潮。随着数字化水平越来越高、零碎规模越来越大、组件监控粒度越来越细、监控数据量越来越大以及新技术和新组件一直引入,这些导致运维工程师被海量运维监控数据吞没,利用AI技术解决运维问题成为行业必然趋势。 翻新技术必须落地能力产生最大价值,价值和成果是掂量落地胜利与否的规范。对于“利用AI技术解决运维问题”的智能运维畛域,无论是价值实际,还是成果实现,毋庸置疑地指向了IT运维零碎的稳定性上。 以运维业务稳定性为价值和成果导向的智能运维零碎包含什么?咱们通过60余家企业智能运维服务过程中的需要沟通,近百位业内专家的思维碰撞,千余篇国内外趋势论文的研读。咱们认为企业建设智能运维零碎,首先要对采集到数据的汇聚,并通过关联和编制,实现对告警、指标、日志对立查问(运维数据中心),以此为根底,在场景实际上既要在告警事件产生时具备迅速定位、疾速解决的能力(事件定位、事件治理),又须要在重要流动和交易前后对运维零碎进行维稳(运维重保),还须要具备依据事件呈现的征兆提前发现隐患并被动解决的能力(危险感知),同时在未呈现告警事件或者征兆时,还须要通过流量模仿、混沌工程等技术,在测试环境中消除隐患的能力(运维演练)。 要想运维零碎“稳若磐石”,就应该联合场景的根底上,将智能运维零碎建设打造成事先、事中、预先均针对“运维零碎稳定性”的指标产生价值和成果的“六边形兵士”。以此为指标,必示科技通过一直往返的技术研发、工业实际和产品迭代,最终欠缺成咱们现实中的必示智能运维产品矩阵。 必示智能运维产品矩阵蕴含运维平台和运维工具两个层面。首先,从数据源上联合采集的指标、日志、告警、CMDB等须要运维的数据,进入到运维平台。必示科技产品矩阵中运维平台包含三个局部:智能运维数据平台蕴含运维常识图谱和运维数据编制,将指标核心、告警核心、日志核心等通过运维数据的会集、关联和编制,为运维工具层赋能;运维专属AI算法平台针对于具体场景实现算法自动化利用,包含自然语言解决、图计算、感知智能、剖析智能、针对智能化等算法模块,利用算法的翻新、编排和服务性能为运维工具平台赋能;智能运维演练核心,利用混沌工程、运维反抗、稳态构建、流量生成与迁徙等技术和伎俩,通过流量仿真和故障注入,一直晋升运维零碎的稳定性能力。 智能运维平台实质上是AI技术与运维业务相结合的产物,从AI技术角度,常识、数据、算法、算力四者缺一不可。而从运维业务角度,传统人工运维无奈满足以后的状况根本原因是场景实现无奈冲破日益宏大零碎和数据,所以到了智能运维时代,数据应该是智能运维零碎应该思考的重要因素。在场景实现方面,咱们将智能数据运维平台和运维专属AI算法平台为依靠和底座,为具体场景提供智能运维平台工具提供汇聚、关联和编制后的数据流,以及为各场景打造的专属算法,最终利用智能危险感知平台、智能事件治理平台和智能排障剖析平台来解决运维场景中的理论问题。 智能危险感知平台面向危险事先防备环节,基于智能运维专属AI算法和专家教训,构建场景配置引擎和危险决策引擎,造成危险发现、剖析、整改、反馈的治理流程闭环,实现从被动运维到被动经营,最终缩短MTBF。目标是为IT运维中变更危险感知、同质化集群部署的离群节点检测、资源危险感知、容量危险感知等场景提供危险预测、量化评估的智能运维工具。 智能事件治理平台面向故障发现和解决环节,基于大数据技术和智能告警数据分析算法,买通监控工具孤岛,对性能数据和告警事件数据等治理、整合、统计、剖析,借助AI算法能力,打造事件可视化、事件处理和事件剖析三大治理平台模块,辅助运维人员疾速发现和定位故障,解决告警多莫衷一是的问题。目标是为告警对立治理,并对告警智能降噪、告警分级甄别、定期巡检优化、告警风暴定位等重要场景提供智能化运维工具。 智能排障剖析平台面向故障定位环节,交融海量运维数据,通过常识图谱和算法的双轮驱动,通过对故障的主动发现、剖析、处理和举荐等性能实现,晋升排障速度和效率、积淀专家教训、推动数据治理,并一直晋升智能运维平台排障能力,最终升高MTTR。目标是为故障发现、故障画像、拓扑排障、高频故障辨认定位、关联故障剖析、业务影响剖析、故障剖析报告等多种场景提供智能化运维工具。 必示智能运维产品矩阵,以“运维零碎稳定性”为指标,为银行、券商、保险、电信、制作等行业企业提供智能危险感知平台、智能事件治理平台、智能故障剖析平台、智能运维数据平台、运维专属AI算法平台和智能运维演练核心“六边形”智能运维产品,从事前预测和防备、事中疾速剖析定位和解决、预先教训常识积淀,并以此为循环,在防备和解决运维问题的同时一直晋升智能运维平台能力,最终升高MTTR,缩短MTBF。

January 3, 2023 · 1 min · jiezi

关于运维:使用Helm部署Wikijs

应用 Helm 部署 Wiki.js️ 参考文档: Wiki.js 官网文档 - 装置 - Kubernetes Wiki.js 应用 Helm 装置 Wiki.js 官网文档 - 装置 - 侧加载 官网教程Kubernetes开始应用 Helm Chart 在 Kubernetes 上装置 先决条件Kubernetes 集群HelmPostgreSQL 数据库❗️ 重要您必须先部署单个实例能力设置应用程序。设置实现后,您能够将正本数量减少到任意数量。只管wiki.js反对其余数据库引擎,但多正本要求必须应用PostgreSQL。装置 Helm Chart无关具体的装置阐明,请参阅wiki.js helm repo。 介绍此图表应用Helm包管理器在Kubernetes群集上启动wiki.js部署。 它还可选地将PostgreSQL打包为数据库,但您能够自在携带本人的数据库。 先决条件如果您想要数据持久性,则须要由基础设施中的PV 供应商反对(启用长久存储)装置 Chart要装置带有my-release 公布名称的 chart,请在此 (helm) 目录运行以下状况: ️ 参考文档: Wiki.js helm chart git 仓库地址 须要先将该 Git 仓库 clone 下来, 并跳转到 (helm) 目录, 而后执行上面的命令. 应用 Helm3: $ helm install my-release .应用 Helm2: $ helm install --name my-release . 该命令在Kubernetes群集上的default 租户中部署wiki.js。[[应用 Helm 部署 Wikijs#配置]] 局部列出了装置过程中能够配置的参数。 ...

January 3, 2023 · 3 min · jiezi

关于运维:时速云入选数据猿2022中国云原生领域最具商业合作价值企业

2022年12月27日,数据猿公布《2022中国云原生畛域最具商业单干价值企业》榜单。此次盘点历经数月,数据猿终审团通过间接申报交换、访谈调研、外界征询评估、匿名拜访等穿插验证形式对云原生畛域企业进行筛选,最终仅10家企业入选。 时速云作为云原生畛域的标杆企业,凭借齐备的云原生技术服务、优质的产品以及在金融信创、云原生生态等方面的当先布局胜利入选榜单,充沛展现了时速云在技术当先、科技翻新及全行业场景利用等多维度的综合实力。 目前,上云早已成为泛滥企业数字化转型之路的必选项。在现在企业数字化转型炽热之际,云原生作为数字化转型企业无力的技术底座撑持,放弃着高速增长,并渗透到各行各业中。 作为我国当先的全栈云原生技术服务提供商,时速云在云原生畛域深耕多年,目前已为超过500多家中大型及世界500强企业客户提供了优质的云原生技术服务,并牵手数十家信创生态合作伙伴,上百家云原生生态合作伙伴独特面向金融、能源电力、运营商、制作、交通等多个产业畛域提供有价值的数字化转型解决方案,并取得了行业内外统一好评。 将来,时速云将继续施展行业标杆作用,加大技术研发与翻新,并丰盛产品服务生态,为客户提供优质、平安、稳固的产品和技术服务,减速推动行业数字化降级。

January 3, 2023 · 1 min · jiezi

关于运维:使用-Helm-安装-MQTT-服务器EMQX

EMQXℹ️ Info: 应用 EMQX 通过 Helm3 在 Kubernetes 上部署 EMQX 4.0 集群 | EMQ emqx/deploy/charts/emqx at main-v4.4 · emqx/emqx (github.com) emqx/values.yaml at main-v4.4 · emqx/emqx (github.com) emqx/emqx-operator: A Kubernetes Operator for EMQ X Broker (github.com) 配置项 | EMQX 文档 EMQX 装置ℹ️ Info: 即 EMQX 服务器端。 > helm repo add emqx https://repos.emqx.io/charts"emqx" has been added to your repositories> helm repo updateHang tight while we grab the latest from your chart repositories......Successfully got an update from the "emqx" chart repositoryUpdate Complete. ⎈Happy Helming!⎈> helm search repo emqxNAME CHART VERSION APP VERSION DESCRIPTION emqx/emqx 4.4.0 4.4.0 A Helm chart for EMQ X emqx/emqx-ee 4.4.1 4.4.1 A Helm chart for EMQ X emqx/emqx-operator 1.0.1 1.1.2 A Helm chart for EMQX Operator Controlleremqx/kuiper 0.9.0 0.9.0 A lightweight IoT edge analytic software装置: ...

January 2, 2023 · 3 min · jiezi