python监控nginx端口和进程状态


Posted in Python onSeptember 06, 2019

本文实例为大家分享了python监控nginx端口和进程状态的具体代码,供大家参考,具体内容如下

#!/usr/local/bin/python
# coding:utf-8
import psutil
import sys
import os
 
# 获取主机名称
def hostname():
  sys = os.name
  if sys == 'nt':
    hostname = os.getenv('computername')
    return hostname
  elif sys == 'posix':
    host = os.popen('echo $HOSTNAME')
    try:
      hostname = host.read()
      return hostname
    finally:
      host.close()
  else:
    return 'Unkwon hostname'
 
# 获取进程状态
def processStatus(processName):
  pids = psutil.pids()   #获取主机所有的PID
  a = 1
  for pid in pids:      #对所有PID进行循环
    p = psutil.Process(pid)  #实例化进程对象
    if p.name() == processName:   #判断实例进程名与输入的进程名是否一致(判断进程是否存活)
      print (a)   #返回1,进程存活
      a += 1
  if a == 1:
    print (0)         #返回0,进程逝去
 
# 获取进程PID
def processPID(processName):
  pids = psutil.pids()
  for pid in pids:
    p = psutil.Process(pid)
    if p.name() == processName:
      return pid
      return True # 如果找到该进程则打印它的PID,返回true
  else:
    print('找不到进程'+processName)
    return False # 没有找到该进程,返回false
 
# 获取进程的端口号
def processPort(pid):
    p = psutil.Process(pid)
    data=p.connections()
    data_listen=[x for x in data if 'LISTEN' in x ]
    # pid_port=[]
    # for port in data_listen:
    #   pid_port.append((port.laddr.port))
    # return list(set(pid_port))
    return list(data_listen[0][3])[1]
 
hostname=hostname().strip()
PID=processPID('nginx')
port=processPort(PID)
 
json_data = [
{"name": hostname+'-nginx', "port": port,"host_ip":LOCAL_IP,"PID":PID}
]
 
AutoDiscoveryJson(json_data, object_id='HOST')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中使用HTML模版的教程
Apr 29 Python
Python实现带百分比的进度条
Jun 28 Python
windows下ipython的安装与使用详解
Oct 20 Python
Python实现字典去除重复的方法示例
Jul 31 Python
python实现二分查找算法
Sep 21 Python
python 获取文件下所有文件或目录os.walk()的实例
Apr 23 Python
python批量获取html内body内容的实例
Jan 02 Python
pandas 空数据处理方法详解
Nov 02 Python
python可视化text()函数使用详解
Feb 11 Python
Python实现AES加密,解密的两种方法
Oct 03 Python
浅谈Selenium 控制浏览器的常用方法
Dec 04 Python
Python 数据可视化神器Pyecharts绘制图像练习
Feb 28 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
Sep 06 #Python
修改 CentOS 6.x 上默认Python的方法
Sep 06 #Python
Python代理IP爬虫的新手使用教程
Sep 05 #Python
关于Python内存分配时的小秘密分享
Sep 05 #Python
python global关键字的用法详解
Sep 05 #Python
python requests证书问题解决
Sep 05 #Python
Python使用scipy模块实现一维卷积运算示例
Sep 05 #Python
You might like
关于Intype一些小问题的解决办法
2008/03/28 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
php检测图片木马多进制编程实践
2013/04/11 PHP
PHP fopen函数用法实例讲解
2019/02/15 PHP
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
javascript 词法作用域和闭包分析说明
2010/08/12 Javascript
Ext 今日学习总结
2010/09/19 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
2017/04/21 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
浅谈vue项目,访问路径#号的问题
2020/08/14 Javascript
Python中集合类型(set)学习小结
2015/01/28 Python
python传递参数方式小结
2015/04/17 Python
Python实现简单字典树的方法
2016/04/29 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
Python实现图片转字符画的示例代码
2017/08/21 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
Django 1.10以上版本 url 配置注意事项详解
2019/08/05 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
HTML5响应式(自适应)网页设计的实现
2017/11/17 HTML / CSS
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
植村秀美国官网:Shu Uemura美国
2019/03/19 全球购物
Python里面如何拷贝一个对象
2014/02/17 面试题
酒店中秋节活动方案
2014/01/31 职场文书
文明宿舍获奖感言
2014/02/07 职场文书
各营销点岗位职责范本
2014/03/05 职场文书
社区道德讲堂实施方案
2014/03/21 职场文书
技能比武方案
2014/05/21 职场文书
民警个人对照检查剖析材料
2014/09/17 职场文书
Python实现天气查询软件
2021/06/07 Python