IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 关于日志流量监控预警小小项目 | Flask日志监控脚本 -> 正文阅读

[Python知识库]关于日志流量监控预警小小项目 | Flask日志监控脚本

Flask日志监控脚本

现在要写一个任务去监控每一秒钟的带宽值(每一分钟去监控三分钟之前的日志)

现在就新增一个task

需求分析:

  1. 请求flask的监控项api接口,然后获取monitor数据表的数据---》request.get(“http://x.x.x.x/v1/monitor”)

  1. 查询数据库原始日志nginxlog三分钟之前的日志 然后放入dataframe

  1. 循环获取监控项数据表里的数据,依次从dataframe去获取原始日志有没有出发邮件告警

也可以生成celery异步任务 :

做指令下发

Flask和celery的结合

拿router下面的user举例:

在下面多创建一个路由叫做celery

@user_bp.route("/celery")

# 相当于请求这个接口 就可以给我下发任务

def celery_trigger():

??? # 获取参数

??? args=request.args.get("args")

??? # 调用异步任务

??? from celery_app.tasks import celery_tigger

??? #发送任务(这个delay相当于就是调用异步任务去触发 )

??? celery_tigger.delay(args)

??? return "this is celery_trigger"

然后再celery_app下面的tasks里面添加一个新的任务

@celery.task

def celery_tigger(sth2):

??? print("this is celery_tigger")

print(sth2)

效果如下:

celery的可视化组件:flower

首先先安装

flower启动就一条命令:

然后在浏览器输入ip:5000就可以看到这个可视化工具

其中processed表示的是出发的任务数 ?succeded表示成功的数量等

celery定时任务

flask总结:

上线部署是部署到阿里云里面去 但是现在就直接上线到虚拟机里面去

整个项目流程:可以看项目框架图(也可以看自己做的那张图)

Zookeeper在kafka中有什么用?

Kafka一般应用场景,为什么会选择kafka?

日志收集 流量削峰 ?业务解耦

有没有了解过其他中间件?

?????? nsq rebbitmq? activemq kafka? redis

用了几台机器去完成这个实验?设计这个实验的目的是什么?

????? 6台 其中三台(nginx? filebeat? kafka? zk) 1台(mysql) 1台(跑flask应用) 1台nginx代理机

???? 学习 找工作 通过朋友知道目前这种架构很流行,所以自己在本地搭环境进行学习

生产者不断生产日志 Kafka响应不过来怎么办?

????? 参数设置缓解压力

????? 找到瓶颈(磁盘 内存 带宽) 然后就可以扩容了

?????

Flask用了哪些模块,分别做了什么?

????? 看上面那张图

Flask 怎么接收参数?

????? Request对象

做了哪些表 表里多少数据 这个表是做什么的!!!(七八张表)

Flask的后端编写 所有东西都是绑到app核心对象里面

核心对象app在manage.py里面创建的 运行也是从这个文件开始

Orm是做对象关系映射 建立数据模型的

把路由注册到蓝图上 把蓝图注册到app上 整个视图函数放在route目录上面

Api编写使用表现层状态转移(restful)? 把路由帮到api上面 api再绑到蓝图上面

基于token做的用户登录验证

Flask-marshmallow我们没有使用 我们自己自定义

Flask-scrip 方便管理

Flask-migrate是绑到flask-script上面的

项目步骤里的前端vue框架我们没学

上线部署:

这个项目目前还是只适用于开发环境

上线部署的应用分为两种:

nginx+gunicron

nginx+uwsgi

我们的python程序是用gunicron运行的

相比于uwsgi而言,gunixcron配置简单使用方便

测试环境和线上环境一模一样

流程:写完代码—》测试—》审核—》发布到线上环境 ?

持续集成ci/cd:这个流程平台化自动化管理(软件jenkins可以做到)

Flask应用集群是真实机器(gunicorn运行在这个里面)

Nginx就是暴露在外网的接口 而下面的东西用的就是内网

gunicorn -w是指定启动几个worker进程(几个worker)? -b是指定接口

gunicorn -w 2 -b :8000 manage:app 启动是在当前目录下启动(线上环境启动方式)

在新主机上安装依赖包:pip3 install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com --trusted-host pypi.douban.com

现在去配置nginx

在kafka1的主机里配置nginx的conf文件

proxy_pass是反向代理

代表访问80端口v1的时候 全部代理去8000的flask端口

只有以v1开头的才会代理到我们的8000端口

可以实现动静分离来进行分流

以v1开头的后端都代理到后端

前端就是静态 新加一个location 代理到前面写的html里面去(本地直接返回)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-04 15:30:50  更:2022-03-04 15:33:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:56:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码