webhook

OpenKruise v0.7.0 版本发布:新增周期任务分发控制器

百般思念 提交于 2020-12-19 08:13:30
作者 | 王思宇(酒祝) 来源| 阿里巴巴云原生公众号 前言 OpenKruise 是阿里云开源的大规模应用自动化管理引擎,在功能上对标了 Kubernetes 原生的 Deployment/StatefulSet 等控制器,但 OpenKruise 提供了更多的增强功能,如:优雅原地升级、发布优先级/打散策略、多可用区 workload 抽象管理、统一 sidecar 容器注入管理等,这些都是经历了阿里巴巴超大规模应用场景打磨出的核心能力,这些 feature 帮助我们应对了更加多样化的部署环境和需求、为集群维护者和应用开发者带来了更加灵活的部署发布组合策略。 目前在阿里巴巴内部云原生环境中,应用全部统一使用 OpenKruise 的能力做 Pod 部署、发布管理,而不少业界公司和阿里云上的客户由于 K8s 原生 Deployment 等负载不能完全满足需求,也转而采用 OpenKruise 作为应用部署载体。我们希望 OpenKruise 可以让每一位 Kubernetes 开发者和阿里云上的用户,都能便捷地使用上阿里巴巴内部云原生应用所统一使用的部署发布能力! 附: OpenKruise 在阿里巴巴的应用参考文章 新版本概览 Kruise 在 2020 年 11 月 16 日发布了最新的 v0.7.0 版本,包括了一些主体功能和优化迭代。以下内容将对新版本做一个整体的概览介绍

GitLab 如何自动触发 Jenkins 构建

久未见 提交于 2020-12-18 04:23:52
Gitlab 通过 Webhook 配置来实现功能:当 GitLab 对应的分支有代码提交或合并请求时,自动触发执行对应的 Jenkins 任务。 安装相关插件: GitLab Plugin GitLab Hook Plugin 1. Jenkins 安全配置 如果要使用GitLab的WebHook触发对应的任务,需要提前在Jenkins——>全局安全配置中取消勾选“Prevent Cross Site Request Forgery exploits”(“防止跨站点请求伪造”)复选框,如下图所示: 2. Jenkins 任务配置 配置 Git 分支。分支可以在下面触发器的 GitLab 触发部分进行配置,所以在 Git 源码管理部分,分支为空即可,即默认任何有代码变动的分支都会拉取。 之后,配置“Build Triggers”(“构建触发”)。在“Build Triggers”下勾选“Build when a change is pushed to GitLab”复选框,如下图所示: 点击“Advanced”,注意以下选项: GitLab Webhook URL: 这里设置的链接,在后面的GitLab配置中会用到。 Enable GitLab triggers :默认打开代码提交,创建新的合并请求,让合并请求通过,添加注释等,也可以根据实际需求增加或减少。 Allowed

【逗老师带你学IT】阿里云监控报警回调+转发企业微信+转发SnmpTrap+PRTG

我的未来我决定 提交于 2020-12-17 10:10:56
本文解决了一个阿里云监控和告警中比较常见的问题。 如何让阿里云的告警推送到企业微信和第三方监控平台,本文使用报警回调+企业微信webhook+snmptrap的方式推送告警。 本文涉及的知识点: 阿里云监控报警回调 Python Django搭建HTTP API服务器 企业微信webhook推送接口 Python 发送SnmpTrap消息 PRTG SNMP Trap收集程序 我会按照非代码开发者的基础能力来讲解这些知识点,不要慌,你只要稍微有一点点Python开发能力,跟着这篇文章你都可以学会以上各个知识点。 对于运维开发和其他开发者,直接去github下载。 本文涉及的代码上传带github,地址如下: Public_Share_Project/阿里云报警回调+Django/ @ TOC 一、阿里云报警回调 官方文档: 文档中心>云监控>报警服务>报警规则>使用报警回调 1、报警回调支持的监控类型 报警回调功能属于云监控产品下的功能,因此支持大部分云监控产品内的报警输出,主要有 事件报警 和 阈值报警 两大类报警。 举个栗子,ECS CPU使用量超过80%这个情况,可以触发阈值报警。ECS出现重启,可以触发之间报警。关于两大类报警如何定义,本文不做深入研究,各位可以结合自身业务场景自由定义。 但是,报警回调不支持由其他业务系统直接触发的报警。 目前阿里云上的业务

美图全链路监控实战,成本低还能直接落地

只愿长相守 提交于 2020-12-11 11:38:15
一、摘要 本文内容分为3部分,首先简单介绍了美图的业务背景和监控体系,然后是两个美图的监控实践——基于Grafana FlowCharting插件的「监控大盘」实战和基于GrafanaImageRender+企业微信机器人的「图文告警」实战。 这两个监控实战都是非常容易落地的,基本是开箱即用,中间只涉及到非常少量的代码工作。本文除了介绍我们做相关技术选型时的一些考量,同时给出了两个实战完整的“step by step”的操作步骤,对于涉及到的少量代码工作,文中也给出了代码样例。希望这两个案例对于大家做监控大盘和富文本告警的工作可以有所参考。 二、美图监控的整体架构 1、 业务背景 在展开技术实战部分的讲解之前,我们先简单了解下美图公司的业务场景和规模。美图公司的业务主要分为 ToC 和 ToB 两类,以「消费者社区」为核心,在「影像美化」、「美妆平台」、「皮肤管理」几个垂直领域均有面向终端用户和面向企业的产品或解决方案。 美图的产品线覆盖社区、美颜、美妆、短视频、直播等领域,比较知名的C端APP有美图秀秀、美颜相机、美妆相机、美拍等。此外,美图拥有大量的海外用户,知名的产品有 BeautyPlus、AirBrush 等。围绕这些 APP 同时建设有大量的支撑服务,比如基础架构、大数据、AI开放平台、商业化生态等。 美图的产品线众多、业务形态丰富、ToC和ToB的服务并存

基于 Gitee + Jenkins 的开源项目自动化协作实战

半腔热情 提交于 2020-12-07 00:53:59
摘要:在开源理念日渐活跃的今天,越来越多的人开始投身于开源,贡献了越来越多的开源项目。而随着时间的推移,更多的人开始为开源项目添砖加瓦,为某一领域的开源项目贡献出自己的力量。贡献者的增多又给开源作者带来不少审核的压力,实际上投身开源的这些开源作者基本都是业余时间来做,并没有太多的时间投入在开源项目上。本文就为了解决这类场景,介绍下如何在 Gitee 上通过 Jenkins 来为自己的开源项目开启自动化协作,旨在将一些开源相关的工作自动化,留出更多的时间投身开源事业。 Gitee & Jenkins 简介 码云 Gitee 是开源中国(OSChina.net)于 2013 年推出的基于 Git 的代码托管和协作开发平台,提供代码托管服务,与开源中国社区资讯、博客、社区等版块相互补充和促进,希望以此更好地为开发者服务、构建更加完善的开源生态。经过超过七年的砥砺发展,已成为国内最大的代码托管平台。 Jenkins 是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件,支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序运行。 开源项目协作流程 协作方式 为开源项目贡献代码一般都是使用 PullRequest(MergeRequest)方式,这种方式一般要求用户先将开源仓库 Fork 到自己名下,然后基于自己名下的仓库进行修改提交,最终以

Chaos Mesh® 技术内幕 | 如何注入 I/O 故障?

与世无争的帅哥 提交于 2020-12-02 22:08:57
在生产环境中,时常会因为磁盘故障、误操作等原因出现文件系统的错误。Chaos Mesh 很早就提供了注入文件系统错误的能力。用户只需要添加一个 IOChaos 资源,就能够让对指定文件的文件系统操作失败或返回错误的数据。在 Chaos Mesh 1.0 之前,使用 IOChaos 需要对 Pod 注入 sidecar 容器,并且需要改写启动命令;哪怕没有注入错误,被注入 sidecar 的容器也总是有较大的性能开销。随着 Chaos Mesh 1.0 的发布,提供了运行时注入文件系统错误的功能,使得 IOChaos 的使用和其他所有类型的 Chaos 一样简单方便。这篇文章将会介绍它的实现方式。 前置 本文的内容假定你已经掌握以下知识。当然,你不必在此时就去阅读;但当遇到没见过的名词的时可以回过头来搜索学习。 我会尽我所能提供相关的学习资料,但我不会将它们提炼和复述,一是因为这些知识通过简单的 Google 就能学到;二是因为大部分时候学习一手的知识效果远比二手要好,学习 n 手的知识效果远比(n+1)手的要好。 FUSE. Wikipedia , man(4) mount_namespaces. man , k8s Mount propagation x86 assembly language. Wikipedia mount. man(2) 特别是 MS_MOVE

Prometheus+alertmanager监控报警示例

不羁岁月 提交于 2020-11-30 01:24:27
Alertmanager 主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,而且很容易做到告警信息进行去重,降噪,分组,策略路由,是一款前卫的告警通知系统。 安装alertmanager #安装go 1.11 $ wget https://studygolang.com/dl/golang/go1.11.linux-amd64.tar.gz $ tar zxvf go1.11.linux-amd64.tar.gz && mv go1.11 /opt/go $ vi /etc/profile 添加 export GOROOT=/opt/go export PATH=$GOROOT/bin:$PATH export GOPATH=/opt/go-project export PATH=$PATH:$GOPATH/bin $ source /etc/profile $ go version #安装alertmanager(或者使用tar包安装) $ git clone https://github.com/prometheus/alertmanager.git $ cd alertmanager/ $ make build 安装成功以后,便可编辑报警配置文件了 配置文件为alertmanager.yml,默认如下所示 global: resolve

Prometheus监控告警浅析

ぃ、小莉子 提交于 2020-11-07 00:45:15
前言 最近有个新项目需要搞一套完整的监控告警系统,我们使用了开源监控告警系统Prometheus;其功能强大,可以很方便对其进行扩展,并且可以安装和使用简单;本文首先介绍Prometheus的整个监控流程;然后介绍如何收集监控数据,如何展示监控数据,如何触发告警;最后展示一个业务系统监控的demo。 监控架构 Prometheus的整个架构流程可以参考如下图片: 整个流程大致分为收集数据,存储数据,展示监控数据,监控告警;核心组件包括:Exporters,Prometheus Server,AlertManager,PushGateway; Exporters :监控数据采集器,将数据通过Http的方式暴露给Prometheus Server; Prometheus Server :负责对监控数据的获取,存储以及查询;获取的监控数据需要是指定的 Metrics 格式,这样才能处理监控数据;对于查询Prometheus提供了 PromQL 方便对数据进行查询汇总,当然Prometheus本身也提供了Web UI; AlertManager :Prometheus支持通过 PromQL 来创建告警规则,如果满足规则则创建一条告警,后续的告警流程就交给AlertManager,其提供了多种告警方式包括email,webhook等方式; PushGateway

诸葛DIA模型-A:基于用户旅程的自动化智能营销平台(Action)

可紊 提交于 2020-11-05 11:12:14
随着大数据、云计算、物联网、人工智能、区块链等新技术的出现,犹如蛛丝成网,迅速汇集成了一张连通各行各业、多维立体的大网,各行各业甚至每个人都成为其中的一个节点。海量的数据在节点间奔流不息,刷新了用户的认知,改变了我们的生活方式,也改变了企业的营销模式。 大量的数据强化了企业对用户精细化运营需求的洞察和连接,更激发了对产品的生产、服务与营销流程的思考与变革,实现了产品、服务对全网、全渠道等管理的闭环。市场在变,用户在变,如何通过智能化的营销模式和营销工具来提升营销效率,已经成为企业突破传统营销局面的新思路。 补全数据应用的最后“一公里” 诸葛推出的基于用户旅程的自动化智能营销平台(Action)正是顺应大数据发展的创新举措, 以用户为核心,以数据为能源,实现全数据、全链路、全媒体、全渠道、全场景的营销模式。 围绕用户的个性化、碎片化需求,利用用户的体验、场景、感知、审美等主观认知,创立一个全新的生态系统,帮助企业以更低成本、更高效的提升收入和用户满意度,满足企业的精细化用户运营需求。 贯穿用户全生命旅程 ,链接用户和企业产生交集的每一个Moment of Truths,例如客户关注品牌微信公众号的最初几分钟、客户网上购买商品迟迟未付款的时间段、会员即将进入不活跃期等。这些关键时刻是营销的最佳时机,往往稍纵即逝,准确捕捉并良好运用将产生巨大效果。 基于用户实时在线行为

Grafana+Prometheus系统监控之SpringBoot

拜拜、爱过 提交于 2020-10-30 08:13:30
前言 前一段时间使用SpringBoot创建了一个 webhook 项目,由于近期项目中也使用了不少SpringBoot相关的项目,趁着周末,配置一下使用prometheus监控微服务Springboot。 项目配置 引入坐标 <!-- Exposition spring_boot --><dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_spring_boot</artifactId> <version>0.1.0</version></dependency><!-- Hotspot JVM metrics --><dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_hotspot</artifactId> <version>0.1.0</version></dependency><!-- Exposition servlet --><dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_servlet</artifactId> <version>0.1.0</version></dependency>