python监控nginx端口和进程状态
作者:狼叔也疯狂 时间:2023-08-25 16:15:13
本文实例为大家分享了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')
来源:https://blog.csdn.net/xwl145/article/details/81231414
标签:python,监控,端口
0
投稿
猜你喜欢
Python去除列表中重复元素的方法
2021-06-23 20:44:27
对numpy和pandas中数组的合并和拆分详解
2021-04-23 22:51:50
SQLServer行转列实现思路记录
2024-01-18 05:42:43
利用python进行文件操作
2022-01-09 10:49:51
pycharm from lxml import etree标红问题及解决
2021-12-10 05:55:38
GoFrame基于性能测试得知grpool使用场景
2024-05-08 10:52:24
Python多线程多进程实例对比解析
2022-10-09 16:43:20
详解python中@classmethod和@staticmethod方法
2022-10-24 11:47:16
Django学习笔记之ORM基础教程
2022-07-25 22:59:07
SQL Server导入导出数据方法
2007-08-17 09:50:00
详解Python如何查看一个函数的参数
2023-05-13 19:24:19
Python实现的对一个数进行因式分解操作示例
2023-01-11 04:30:40
PID原理与python的简单实现和调参
2021-08-13 13:27:36
如何在scrapy中捕获并处理各种异常
2023-04-10 06:56:23
pandas针对excel处理的实现
2022-06-17 07:46:15
教你用压缩技术给SQL Server备份文件瘦身
2009-03-05 14:59:00
python使用自定义钉钉机器人的示例代码
2021-10-21 12:08:02
Python实现八皇后问题示例代码
2023-11-23 03:31:40
使用requests库制作Python爬虫
2023-08-17 21:43:23
python 线程的五个状态
2021-05-15 10:24:33