效率工具:企业微信机器人完成脚本工作-异常监控(sql篇)

news2024/11/15 11:19:52

效率工具:定时完成脚本工作(sql篇)

背景:elon在公司需要人工查看某些数据是否异常,并发送到指定企业微信群中。

处理步骤:

  1. 工具:企业微信中有机器人
  • 可以指定webhook地址嵌入到脚本中,定时执行脚本即可向这个地址发送信息。
  1. 用python脚本完成对数据库的读取,并发送指定文本信息到webhook地址。

一、导入库文件,连接数据库

import mysql.connector
import pandas as pd 
import numpy as np
from datetime import datetime
import matplotlib.pyplot as plt

import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy import text
import urllib.parse

import time
import requests
import json
def execute_mysql_query(query):
    password = urllib.parse.quote('密码')
    engine = create_engine('mysql+mysqlconnector://用户名:' + password + '@主机地址:端口号/数据库')
    with engine.connect() as connection:
        df = pd.read_sql(query, connection)
    return df

二、读取sql文件,获取监控指标

def read_file(file_path):
    sql = open(file_path, 'r', encoding = 'utf8')
    sqltxt = sql.readlines()
    # 此时 sqltxt 为 list 类型
    # 读取之后关闭文件
    sql.close()
    # list 转 str
    sql = "".join(sqltxt)
    return sql
##1.返点监控###########################################################################################################################
#2. 执行地址下的sql文件
返点监控_是否为空_sql = read_file("D:\Marshal1\datagrip_data\关键数据指标核对\返点监控_是否为空.sql")

三、对指标进行异常判断

df_返点监控_是否为空 = execute_mysql_query(返点监控_是否为空_sql)
if df_返点监控_是否为空['计入应收时间'].notnull().any():
    已结算计划计入应收时间是否为空='是'
else :
    已结算计划计入应收时间是否为空='否'

四、将异常信息传到企业微信机器人。

 #记录启动时间
 current_time=time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
'https://developer.work.weixin.qq.com/document/path/91770#%E6%96%87%E6%9C%AC%E7%B1%BB%E5%9E%8B 微信文档'
proxies = {}
# 1、填入webhook的key值
webhook =' https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=d13fbffb-7680-4f4c-aab5-1ea8e99f1f7b'
# 2、选择一种样式,发消息
def qywx_message():
    header = { "Content-Type": "application/json" }
    message = {
        "msgtype": "markdown",
        "markdown": {
           "content": 
           f"#{current_time}\n\n"
           f"# 监控中心\n\n"
           f"## \n"
           f"## 返点监控:\n"
           f"> 已结算计划计入应收时间是否为空:<font color=\"info\">{已结算计划计入应收时间是否为空}</font>\n"
           f"> 计划多个结算时间:<font color=\"info\">{计划多个结算时间}</font>\n"
           f"## 组织架构监控:\n"
           f"> bd中是否存在同组同名:<font color=\"info\">{bd中是否存在同组同名}</font>\n"
           f"> 媒介组织架构:<font color=\"info\">{媒介组织架构}</font>\n"
           f"> 媒介主管:<font color=\"info\">{媒介主管是否有变动}</font>\n"
           f"> BD组织架构:<font color=\"warning\">{BD组织架构}</font>\n"
           f"> BD主管: <font color=\"warning\">{BD主管是否有变动}</font>\n"
           f"## 海外联盟标签监控:\n"
           f"> DM:<font color=\"info\">{DM系统业务线}</font>\n"
           f"> KN:<font color=\"info\">{KN系统业务线}</font>\n"
           f"> LKB:<font color=\"info\">{LKB系统业务线}</font>\n"
        }}
    message_json = json.dumps(message)
    send_message = requests.post(url=webhook,data=message_json,headers=header,proxies=proxies)
    print(send_message.text)
qywx_message()

五、效果图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1606200.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#语法知识之条件分支语句

4、条件分支语句 目录 4、条件分支语句1、条件分支语句 if1、作用2、if语句3、if...else语句4、if...else if...else语句思考1 只需要0~9数字思考2 语句块 2、条件分支语句 switch1、作用2、基本语法3、default可省略4、自定义常量5、贯穿 1、条件分支语句 if 1、作用 //让顺…

Hive进阶(3)----Checkpoint机制(赋图助君理解)

Checkpoint机制 一、Checkpoint机制概念 本机制可以参考《Hadoop权威指南》第十一章&#xff1a; fsimage文件其实是Hadoop文件系统元数据的一个永久性的检查点&#xff0c;其中包含Hadoop文件系统中的所有目录和文件idnode的序列化信息&#xff1b;fsimage包含Hadoop文件系统…

SpringBoot(一)【入门】

前言 1、SpringBoot 快速入门 1.1、SpringBoot 简介 SpringBoot 是用来简化 Spring 应用的初始搭建以及开发过程 首先我们回顾一下 SpringMVC 项目的开发过程&#xff1a; 导入依赖&#xff08;javax.servlet-api 和 spring-webmvc&#xff09;Servlet 容器配置类&#xff…

Pytest精通指南(14)Parametrize之indirect(间接参数)

文章目录 官方概念概念分析官方示例示例分析验证indirect为True但不指定fixture验证indirect为True但不存在fixture 官方概念 概念分析 在pytest的pytest.mark.parametrize装饰器中&#xff0c;indirect参数用于指示是否应该从fixtures中解析参数值&#xff0c;而不是直接使用提…

爆炸之linux-nacos2.0系列集群安装部署

一、环境配置 1、新建磁盘分区 fdisk /dev/vdb 2、创建文件系统 mkfs.xfs /dev/vdb13、创建挂载点&#xff1a; 在 / 目录下创建一个新的目录作为挂载点。/afc 目录 mkdir /afc4、挂载磁盘&#xff1a; 使用 mount 命令将磁盘挂载到新创建的目录。 mount /dev/vdb /afc5、…

Yoshua Bengio独家专访:我不想把大模型未来押注在Scaling Law上,AGI路上要“注意安全”...

导读 漫长的30年间&#xff0c;数度从主流方向的超然出走&#xff0c;是Bengio的制胜秘诀。这种不盲从主流的风格体现在他研究生涯的方方面面。 90年代末期&#xff0c;神经网络被打入冷宫&#xff0c;Bengio的论文多次遭拒&#xff0c;连学生们也开始担心&#xff0c;和他一起…

Vue之v-on事件修饰符的含义及使用

背景&#xff1a;Vue 拆封了一个组件&#xff0c;在组件里面会使用一个方法来改变父组件传过来的值&#xff0c; 但是在子组件里面操作父组件的数据变更&#xff0c;实在比较麻烦&#xff08;因为单向数据流&#xff09;&#xff0c; So 能不能直接在组件上面绑定事件方法呢&…

springSecurity-记住我(Remember me)

一.记住我概述 Remember me(记住我)记住我&#xff0c;当用户发起登录勾选了记住我&#xff0c;在一定的时间内再次登录就不用输入用户名和密码了&#xff0c;即使浏览器退出重新打开也是如此。 二.流程分析 在SpringSecurity中提供RememberMeAuthenticationFilter过滤器来实…

实时动作检测 | 基于Pytorch+YOLOv5+SlowFast实现的视频流实时动作检测算法_支持多目标的跟踪检测

项目应用场景 面向视频流场景的多目标实时动作检测&#xff0c;项目使用 Pytorch YOLOv5 SlowFast 算法实现。 项目效果 项目细节 > 具体参见项目 README.md (1) 创建 Python 开发环境 conda create -n {your_env_name} python3.7.11 conda activate {your_env_name} (2…

npm镜像源的查看和切换

前言 原域名https://registry.npm.taobao.org/ 原来的淘宝镜像已经不行了,当npm去taobao时,会出现一个证书过期的提示. 下面的是最新的地址: 切换到淘宝镜像(最新的地址) #最新地址 淘宝 NPM 镜像站喊你切换新域名啦! npm config set registry https://registry.npmmirror.com…

00_Linux

文章目录 LinuxLinux操作系统的组成Linux的文件系统Linux操作系统中的文件类型Linux操作系统的组织结构 Linux vs WindowsNAT vs 桥接模式 vs 仅主机Linux Shell命令Linux⽂件与⽬录管理相关指令目录文件普通文件文本编辑 用户管理添加用户删除用户用户组管理 文件权限管理权限…

视频教程下载:用ChatGPT快速提升股票投资能力

学完此视频后可以获得&#xff1a; 学习如何使用人工智能/Chatgpt进行基础/快速/高级财务与研究分析 学习如何使用人工智能/Chatgpt对任何公司进行定性投资研究 学习如何使用人工智能/Chatgpt对任何公司进行定量投资研究 学习如何使用人工智能/Chatgpt创建、预测和分析财务…

C语言(二维数组)

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸各位能阅读我的文章&#xff0c;诚请评论指点&#xff0c;关注收藏&#xff0c;欢迎欢迎~~ &#x1f4a5;个人主页&#xff1a;小羊在奋斗 &#x1f4a5;所属专栏&#xff1a;C语言 本系列文章为个人学习笔记&#x…

Mac下brew安装php7.4

这里作者挂了梯子&#xff0c;所以很流畅&#xff01; brew的下载&#xff0c;可参考另外一篇博文&#xff5e;Homebrew 安装与卸载 1、将第三方仓库加入brew brew tap shivammathur/php2、安装指定版本的PHP brew install php7.43、替换Mac自带PHP环境并刷新环境变量 -> …

【uniapp】uniapp返回上一页,并实现刷新界面数据

在uniapp中&#xff0c;经常会有返回上一页的情况&#xff0c;官方提供有 uni.navigateBack 这个api来实现效果&#xff0c;但是此方法返回到上一页之后页面并不会自动刷新&#xff08;不会触发上一页的onLoad()方法&#xff09;。 使用场景 从一个列表界面点击新增按钮&…

ASP.NET基于Web Mail收发系统设计与开发

摘 要 互联网络技术的不断发展&#xff0c;电子邮件服务已经成为人们基本的信息交互手段&#xff0c;也是网络服务中最早和最基本的服务之一。传统邮件系统大多是基于C/S结构&#xff0c;如Lotus notes、Microsoft Exchange Server等&#xff0c;这些邮件系统占用相对较多的服…

【氮化镓】GaN HEMT失效物理和可靠性

概述: 本文是一篇关于AlGaN/GaN基高电子迁移率晶体管(HEMTs)的失效物理和可靠性研究的综述文章,发表在2013年10月的《IEEE Transactions on Electron Devices》上。文章由Enrico Zanoni等人撰写,主要关注了影响栅极边缘和肖特基结的失效机制,并探讨了提高这些器件可靠性…

未来趋势:探索Facebook在数字化时代的发展方向

在当今日益数字化的时代&#xff0c;社交媒体已经成为人们日常生活中不可或缺的一部分。Facebook&#xff0c;作为全球最大的社交媒体平台&#xff0c;一直处于行业的前沿&#xff0c;不断地探索和引领社交媒体的发展趋势。本文将深入探讨Facebook在数字化时代的发展方向&#…

算法一:数字 - 两数之和

给定一个整数数组 nums 和一个目标值 target&#xff0c;请你在该数组中找出和为目标值的那 两个 整数&#xff0c;并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素不能使用两遍。 来源&#xff1a;力扣(LeetCode) 链接&#xf…

详解 C++ 实现K-means算法

一、K-means算法概述 K-means算法是一种非常经典的聚类算法,其主要目的是将数据点划分为K个集群,以使得每个数据点与其所属集群的中心点(质心)的平方距离之和最小。这种算法在数据挖掘、图像处理、模式识别等领域有着广泛的应用。 二、K-means算法的基本原理 K-means算法…