位置: 编程技术 - 正文

使用Python写个小监控(用python语言编写)

编辑:rootadmin

推荐整理分享使用Python写个小监控(用python语言编写),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python 编写,用python语言编写,用python编写程序,用python写一个简单的程序,用python编写,python 怎么写,如何用python写一个小程序,用python编写,内容如对您有帮助,希望把文章链接给更多的朋友!

1.入门

首先你得用过C/C++、java、Javascript等的一种,编程小白估计比较艰难,有一定编程经验的python小白相对简单些。

1.1 Hello World!

Python安装比较简单,到官网上下载安装包,一路下一步就可以了。因为我的服务器上安装的是2.6.6,所以我也下了这个版本。话说2.x的差别不是很大,如果想用3.x,可能下面的代码直接运行不过,不过也差不多,稍微改改即可。新建一个文件,命名为hello.py。使用python的IDLE打开hello.py,写入以下代码:

按F5,就可以看见输出结果了。

1.2 基本语法

每一行是一条语句。C语言是通过分号”;“;通过缩进来组织代码块。C语言是通过大括号”{}“;注释使用井号”#“。

1.3 数据类型、运算符、数据结构

运算符和C语言差不多,C语言有的基本上直接用就可以。数据类型有数值型,字符串。数据结构有 list, tuple, dict, set。介绍一下tuple, 不能修改,通过索引进行查找。dict类似于map,存放键值对。来看例子,看看tuple使用:

1.4 流程控制

Python中可以使用if elif else、for和 while 来实现流程控制。同样有 break 和 continue。有一点和C不同,如果有一个分支什么都不做,要使用 pass。例如

运行结果是:1aha 2aha 3aha 4aha 5

1.5 模块组织

有方法和类。

方法这样定义

类和C++等有些不同

common变量相当于C++中用 static 修饰的变量,所有类通用;继承也非常简单,可以看看开始推荐的那篇文章。

1.6 异常处理

异常处理非常简单,直接贴代码了:

1.7 工程组织

直接引用库,或者从库中引入某一个方法或变量。

2. 数据库查询

既然是监控,免不了和数据库打交道。我使用的是PostgreSQL,所以就介绍一下python怎么调用postgres。

连接postgres首先要安装一个库psycopg2,Windows下直接下载安装即可,注意选对版本。我的服务器是CentOS,安装直接运行

就OK了。

2.1 首先创建数据库连接

使用Python写个小监控(用python语言编写)

2.2 执行SQL语句

2.3 然后就可以写具体业务了

注意3个引号”””,就是普通字符串,不过可以换行。

3. 发送邮件

查询到数据之后不能及时通知管理员的话监控就没有意义了。所以我们通过邮件来通知,直接使用python的标准库 smtplib 就可以了。写个发送邮件的函数:

4.日志

发送邮件时我们使用了logger,这个logger是怎么来的呢?新建一个log.py,代码如下

5. 把可配置信息放到配置文件中

如果我们添加一个管理员怎么办?如果我们的邮箱密码变了怎么办?直接修改python文件啊,哈哈。python不用编译直接改代码就好了,可是我们的程序以后要打包呢,所以最好写个配置文件,python的配置文件读取非常简单,使用python库 ConfigParser 即可:

然后这样使用:

配置文件是monitor.ini,内容如下:

6. 加点控制

我们每5分钟查一下数据,可是业务sql只能查询最近的几条,所以要加个时间段限制,弄个开始、结束时间。

然后写个统一的调度:

在task这个函数的while中,首先更新end_time,也就是当前时间;执行完再把start_time更新成刚刚的end_time,这样就不会有漏网之鱼了。还有一个需要注意的地方,关键字global。 在python中,使用全局变量是需要global关键字进行声明的,否则会出问题。

7. 运行

打开linux 控制台,直接运行python monitor.py是可以运行的,可是shell一旦退出,任务也就停止了。于是我就选择了一个进程管理工具:Supervisor。Supervisor 在进程中断时还能自动重启。

7.1. 安装supervisor

首先安装python-setuptools

安装supervisor

生成supervisor配置文件

然后在/etc/supervisord.conf添加:

7.2. 运行监控

然后在终端中运行supervisord启动supervisor。在终端中运行supervisorctl,进入shell,运行status查看脚本的运行状态。

7.3. 关闭监控 以及常用命令

以下命令全部在supervisorctl的shell中执行。

shutdown 停止Supervisor(子进程也会被停止) ; start monitor 开启monitor进程服务(一旦monitor进程退出,会自启动) ; stop monitor 关闭monitor进程服务 ; restart monitor 关闭正在运行的monitor进程,并且重新启动monitor进程服务 ; reload 重新加载supervisor配置文件 ; exit 退出supervisorctl的shell。

程序基本上就写完了,也可以跑起来了,是不是很酷,大家快点动手实践一下吧!

基于Python如何使用AIML搭建聊天机器人 借助Python的AIML包,我们很容易实现人工智能聊天机器人。AIML,全名为ArtificialIntelligenceMarkupLanguage(人工智能标记语言),是一种创建自然语言软件代理

Python装饰器入门学习教程(九步学习) 装饰器(decorator)是一种高级Python语法。装饰器可以对一个函数、方法或者类进行加工。在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包

Python每天必学之bytes字节 Python中的字节码用b'xxx'的形式表示。x可以用字符表示,也可以用ASCII编码形式xnn表示,nn从-ff(十六进制)共种字符。一、基本操作下面列举一下字节

标签: 用python语言编写

本文链接地址:https://www.jiuchutong.com/biancheng/381321.html 转载请保留说明!

上一篇:基于Python实现通过微信搜索功能查看谁把你删除了(基于python的)

下一篇:基于Python如何使用AIML搭建聊天机器人(pythonjam怎么用)

  • 全国税务师考试准考证打印
  • 库存盘盈盘亏要调整吗
  • 外出经营涉税事项报告
  • 进项税额转出忘记填在申报表里
  • 目前哪些费用不能加计扣除
  • 税务局开专票作废重开及退税流程
  • 资产申报是什么
  • 土地出让金返还政策文件
  • 二手车买卖如何交税
  • 原材料被盗计入什么科目
  • 企业所得税的应纳税所得额的扣除项目有哪些
  • 营改增之前材料含税吗
  • 单独计价入账的土地是无形资产吗
  • 上个月银行流水没有录这个月补录
  • 制造费用的核算程序是什么
  • 年薪制有什么好处
  • 建筑业预交的增值税
  • 促销活动赠品应如何账务处理
  • 给行政事业单位扣缴义务人的一封信
  • 非独立核算的门市部增值税
  • 企业所得税的账载金额和实际发生额
  • 子公司代发母公司人员工资
  • 小规纳税人租金可以记入成本吗
  • 去年的成本今年入账会计分录
  • 如何网签三方协议合同
  • 公司在银行购买金币没有发票
  • 鸿蒙系统怎么开发
  • 客户收集软件
  • 公司增资怎么做
  • 其他收入工会经费计税依据
  • 工作流activity
  • explorer.exe进程文件
  • 在途物资和材料采购属于存货吗
  • 结转已销产品实收成本
  • 债券投资账务处理例题
  • 非同级财政拨款收入属于什么科目
  • 其他综合收益的借贷方向
  • Stable Diffusion - API和微服务开发
  • 递延所得税资产怎么计算
  • 预收账款是否要缴纳增值税
  • python卡方分布随机数
  • 增值税和个人所得税怎么算
  • 无法取得发票的成本能列支吗
  • 暂时性差异和永久性差异怎么区分
  • 企业所得税的征税对象包括( )
  • 营业税金及附加是什么科目
  • 固定资产的修理费属于什么费用
  • 年化收益率怎么算收益率
  • 坏账准备的核销的分录怎么做
  • 跨境电商怎么交流
  • 销售返现如何做账务处理
  • 房地产开发企业资质管理规定
  • 佣金付给别人公司合法吗
  • 典当行收房产证吗直接可以拿钱吗
  • 小企业会计准则适用于哪些企业
  • 客户重复付款了怎么礼貌回复
  • 什么情况下要暂扣驾驶证
  • sql参数化是什么意思
  • vericut优化程序
  • 苹果电脑怎么锁文件夹
  • win7系统屏幕键盘怎么打开
  • 最近一段时间勒索病毒在全球集中爆发
  • quickdcf.exe - quickdcf是什么进程 作用是什么
  • 复制打开网页
  • win8功能大全介绍
  • javascript对象的属性和方法
  • android studiojava报错
  • python占位
  • JavaScript 和 Java 的区别浅析
  • json对象转化为list
  • Linux 中的cat命令
  • Python的collections模块中的OrderedDict有序字典
  • 湖南省税务局网站2024公务员招聘
  • 企业吸收合并都包括什么
  • 非贸付汇代扣代缴企业所得税
  • 企业注销结果查询
  • 现在哪个保险公司车险好
  • 国税局江西省税务局
  • 税务局人事工作总结(税务局工作人员年度工作总结报告)
  • 汕头办理社保卡流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设