webhook

zabbix3.0实现钉钉告警

断了今生、忘了曾经 提交于 2020-08-08 08:02:40
一、申请钉钉账号,登录账号。 二、创建一个告警群组,添加一个自定义机器人 三,监控脚本配置(首先找到alertscripts目录) 在/usr/local/zabbix/share/zabbix/alertscripts目录下面创建脚本,名称为zabbix_dingding.py 脚本的内容如下: !/usr/bin/env python coding:utf-8 import requests,json,sys,os,datetime webhook=" https://oapi.dingtalk.com/robot/send?access_token =" #说明:这里改为自己创建的机器人的webhook的值 user=sys.argv[1] text=sys.argv[3] data={ "msgtype": "text", "text": { "content": text }, "at": { "atMobiles": [ xxxxxx #指定@某人 ], "isAtAll": False #True @所有人 } } headers = {'Content-Type': 'application/json'} x=requests.post(url=webhook,data=json.dumps(data),headers=headers) if os.path

SkyWalking 告警设置

南笙酒味 提交于 2020-08-08 07:26:08
版本:7.0.0 简介 告警是基于指标数据驱动的,告警在 config/alarm-settings.yml 里面配置,主要包含三种告警配置: 告警规则:声明指标的阈值和条件,当达到阈值时,将触发告警。 WebHooks:web服务列表,当告警规则触发时回调。 gRPCHook:远程gRPC方法的IP和端口,当告警规则触发时回调。 规则 告警规则组成关键字段如下: Rule name:具有唯一性,展示在告警信息里面,必须以 _rule 结尾。 Metrics name:oal脚本里面的指标名称,支持long, double, int 类型。 Include names:规则里包含的实体名称,例如:服务名字,端点名字。 Excluse names:规则里排除的实体名称,例如:服务名字,端点名字。 Threshold:目标值(阈值)。对于多值指标(如:百分位),这个阈值是一个数组,格式如:value1,value2,value3,value4,value5。与指标格式一一对应。当不想其中某些指标触发告警时,阈值设置为横杠( - ) OP:操作,目前支持 > , >= , < , <= , = 。 Period:周期。一个时间窗口,表示告警规则应当被检测多长时间。 Count:在期限窗口时间段内,如果统计次数达到阈值,将触发告警。 Silence Period:静默时间

Prometheus监控神器-Alertmanager篇(1)

人盡茶涼 提交于 2020-08-07 16:20:30
本章节主要涵盖了Alertmanager的工作机制与配置文件的比较详细的知识内容,由浅入深的给大家讲解。 警报一直是整个监控系统中的重要组成部分,Prometheus监控系统中,采集与警报是分离的。警报规则在 Prometheus 定义,警报规则触发以后,才会将信息转发到给独立的组件 Alertmanager ,经过 Alertmanager r对警报的信息处理后,最终通过接收器发送给指定用户,另外在 Alertmanager 中没有通知组的概念,只能自己对软件重新Coding,或者使用第三方插件来实现。 注意,这个通知组不是Alertmanager中的group概念,下面会详细讲 Group ,不要混淆哦。 前面已经介绍过一些关于 Alertmanager 知识点,本章开始针通过安装 Alertmanager 组件,对配置文件做详细说明,同时介绍 Prometheus 的警报规则的定义,最后使用Email、Wechat(Robot)、Dingtalk(webhook)来接受警报通知。 Alertmanager工作机制 在Prometheus生态架构里,警报是由独立的俩部分组成,可以通过上图很清晰的了解到 Prometheus 的警报工作机制。其中 Prometheus 与 Alertmanager 是分离的俩个组件。我们使用Prometheus Server端通过静态或者动态配置

监控微信,钉钉告警脚本

℡╲_俬逩灬. 提交于 2020-08-07 11:45:47
微信告警 vi wechat.py #!/usr/bin/env python - - coding: utf-8 - - import requests import json import sys 企业号及应用相关信息 corp_id = 'ww9f15d225845117a' corp_secret = 'aV_ZC0Ahw0Ob-EhjWMh3x1CDdOxWQLtK6FtI-oki7' agent_id = '1000002' 存放access_token文件路径 file_path = '/tmp/access_token.log' def get_access_token_from_file(): try: f = open(file_path, 'r+') this_access_token = f.read() print('get success %s' % this_access_token) f.close() return this_access_token except Exception as e: print(e) 获取token函数,文本里记录的token失效时调用 def get_access_token(): get_token_url = ' https://qyapi.weixin.qq.com/cgi-bin/gettoken

tekton云原生的CI/CD在gitlab实际应用

纵然是瞬间 提交于 2020-08-06 08:00:01
环境:科学环境,kubernetes 1.8+, tekton latest 说明 Tekton 是一个强大且灵活的 Kubernetes 原生开源框架,可用于创建持续集成和交付 (CI/CD) 系统。该框架可让您跨多个云服务商或本地系统进行构建、测试和部署,而无需操心基础实现详情。 Tekton 提供的内置最佳做法可让您快速创建云原生 CI/CD 流水线。其目标是让开发者创建和部署不可变映像、管理基础架构的版本控制,或者更轻松地执行回滚。借助 Tekton,您还可以利用高级部署模式,例如滚动部署、蓝/绿部署、Canary 部署或 GitOps 工作流。 本例针对私有的gitlab仓库,push后触发webhook,通过webhook生成tekton的taskrun。 安装tekton # pipeline kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml # 本例使用到了triggers kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/latest/release.yaml # 使用dashboard就可以不用安装ctl了 kubectl apply

python调用钉钉机器人发送消息

浪尽此生 提交于 2020-08-05 08:31:00
#!/usr/bin/env python \# -*- coding: utf-8 -*- \# Author: 刘小懒 \# example:python dingding.py 参数1 参数2 参数3 import requests import json import sys import os import time headers = {'Content-Type': 'application/json'} time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) log_dir = '/usr/local/zabbix/logs/' log_file = 'dingding.log' api_url = '钉钉的Webhook地址' def log(info): # 注意权限,否则写不进去日志 file\_path = log\_dir + log_file if os.path.isdir(log_dir) == False: os.makedirs(log_dir) elif os.path.isfile(file_path) == False: f = open(file_path,'a+') f.write(info) f.close() else: f = open(file_path, 'ab+

Choerodon猪齿鱼实践之Webhook配置

一笑奈何 提交于 2020-07-28 18:02:21
本文介绍了Choerodon猪齿鱼中配置 Webhook 的方法,帮助大家了解如何将Choerodon平台中各种事件的相关消息推送到钉钉、企业微信或其他支持Webhook的第三方平台或应用,从而使团队协作更加敏捷高效。 功能背景 Webhook是Jeff Lindsay在2007年提出的概念,它是一个web自定义的回调函数,当程序发生特定行为时,会自动回调指定的url。Webhook的回调url可以是第三方平台或应用,也可以是Webhook内的应用。 在Choerodon猪齿鱼中,Webhook扮演了一个跨应用、跨平台传递事件消息通知的角色。用户可以将Choerodon猪齿鱼中发生的事件通过Webhook的方式通知到钉钉、企业微信或其他支持Webhook的第三方平台。 功能使用介绍 Choerodon自V0.20.0之后便支持在“项目层-设置-通知” 中配置钉钉、企业微信与Json类型的Webhook,若想在此版本中配置Webhook,首先需要平台管理员在“平台层-通知-消息服务”菜单下为目标事件配置Webhook的默认模板,之后才能在项目层创建Webhook时选择到这个触发事件。 而在V0.22.0中,Choerodon新增了组织层配置webhook的功能,并支持查看所有Webhook的执行记录。此外,还在平台中为大部分常用触发事件预设了消息模板

Python 实现 T00ls 自动签到脚本(邮件+钉钉通知)

China☆狼群 提交于 2020-07-28 12:39:56
T00ls 每日签到是可以获取 TuBi 的,由于常常忘记签到,导致损失了很多 TuBi 。于是在 T00ls 论坛搜索了一下,发现有不少大佬都写了自己的签到脚本,签到功能实现、定时任务执行以及签到提醒的方式多种多样,好羡慕啊。所以这里国光也尝试借鉴前辈们的脚本,尝试整合一个自己的自动签到脚本,因为国光有自己的服务器,所以打算使用 Linux 下的 crontab 来定时执行任务,提醒的话使用钉钉和邮件提醒基本上可以满足我的使用需求了,话不多说,下面开始脚本的编写吧。 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码! QQ群:1097524789 基础签到 写代码功能得慢慢添加上去,首先得实现一个最基础的登录并签到功能,后续再添加邮件以及钉钉提醒等功能。 因为脚本功能比较简单,就直接将对应的功能封装成函数了。对应的函数都按照正规开发那样给了详细的注释和说明,话不多说直接看下面的代码吧: import json import requests username = '国光' # 帐号 password = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

CICD实现方法之二--Gitlab+Jenkins+K8S

安稳与你 提交于 2020-07-28 03:13:56
承接上篇文章: 上周发布了新的博客文章,CI实现方法之--Gitlab+Drone,有幸被51cto推荐到首页,在上次的文章中做了CI相说明与测试操作,在生产环境为了提高生产力,增加容错,避免人为误操作等,出现了CICD,对于CICD在此文章中再说明一次 随着DevOps的兴起,出现了持续集成(Continuous Integration)、持续交付(Continuous Delivery) 、持续部署(Continuous Deployment) 的新方法。 此次比之前增加了jenkins与k8s,k8s自不必多说,看官们应该都清楚,这里主要说明jenkins。 Jenkins是一款使用java语言开发的开源的自动化服务器。通过界面或者jenkinsfile告诉它执行什么任务,何时执行。理论上,我们可以让它执行任何任务,但是通常只应用于持续集成和持续交付。 一、测试前提条件 实验环境说明 测试主机:阿里云主机 操作系统:CentOS 7.7 测试主机配置:2C,8G 主机名 公网IP 内网IP ROLE PORT node1 39.104.17.55 172.16.0.101 k8s-master 6443 node2 39.104.61.142 172.16.0.100 k8s-node1 node3 39.104.70.121 172.16.0.99 k8s-node2

DevOps之代码模块设计浅析

有些话、适合烂在心里 提交于 2020-07-27 12:11:17
​转载本文需注明出处:微信公众号EAWorld,违者必究。 // DevOps(开发:Development和运维:Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。 ——by 百度百科 // 今天的主题就是有关DevOps的很重要的一部分,Development中代码模块的设计。 代码模块说复杂也不复杂说简单也不简单,复杂是说它上承接着任务模块,下关联着构建模块,功能涉及到代码的对比合并、质量分析、关联的任务项等,缺了它就凑不成完整的DevOps流程。 简单是说该模块需要关注的点无非就是质量以及效率,一个项目在我看来代码才是根本,代码的产出质量效率越高,就越是节省项目的成本,有钱赚才是硬道理。 代码模块的受众也无非两类人: 开发人员 和 上层领导 。 开发人员眼中的代码模块是branch、tag、code、merge-request、quality等等诸多功能模块的混合体。 不行了,晕了 但是到了领导的眼里,报表即可解决问题: 一类报表说了张三今天代码产出了多少的缺陷多少的漏洞。 垃圾代码冠军得主,就是你 另一类报表说了李四本周就敲了10行代码效率极其低下。 是时候该炒李四鱿鱼了 所以创造一个 友好的代码管理功能交互页面 以及 简洁明了的代码质量效率报表界面