当前位置:首页 » 《关注互联网》 » 正文

linux服务监控与运维_研究猿小刘的博客

27 人参与  2021年08月18日 07:23  分类 : 《关注互联网》  评论

点击全文阅读


linux服务监控与运维

      • 一, 安装psutil 包
      • 二,找到操作系统中所有的服务的name和pid
      • 三,找到需要监控但没有启动的服务
      • 四,监控服务,如果没有开启则自动开启,[并发邮件通知工作人员]
      • 五,运行之后的效果:
      • 六,[参考视频链接](https://www.bilibili.com/video/BV1nW411i7J5)

一, 安装psutil 包

1.1、安装压缩包:以root身份登陆CentOS依次 执行以下命令:

wget https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.gz

如果wget 下不下来,则直接在浏览器中复制 粘贴链接https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.gz 下载下来,用ftp传输工具传输到linux上,然后再进行下面的操作

1.2 解压: tar zxvf psutil-2.1.3.tar.gz

1.3 进入解压完的目录:cd psutil-2.1.3/

1.4 启动安装: python3 setup.py install

1.5 验证: 在命令窗口输入 python3,然后 输入 :

import psutil 不报错,则证明安装 成功

接着输入:

res = psutil.process_iter()

for var in res:

​ print(var)

则会显示一堆信息

二,找到操作系统中所有的服务的name和pid

import psutil

proc_dict = {}
#ID:进程名
proc_name = set()
#关于进程的集合,集合去重
for p in psutil.process_iter():
    proc_dict[p.pid] = p.name()
    proc_name.add(p.name())
print(proc_dict)
print('\n\n--------------------------\n')
print(proc_name)

三,找到需要监控但没有启动的服务

     proc_stop = monitor_name - proc_name

即:需要监控的服务name 减去 操作系统中所有服务的name

四,监控服务,如果没有开启则自动开启,[并发邮件通知工作人员]

       使用os.system(命令)启用 服务。完整代码如下
import psutil
import os
#如果需要发邮件给通知管理人员可能需要使用 request 和 json
#import request
#import json
import time

time_now = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
#要监控的服务
monitor_name = {'nginx'}
#启动命令
monitor_map = {'nginx':'service nginx start'}

while True:
    #操作系统中所有进程的字典
    proc_dict = {}

    #操作系统中所有的进程名集合
    proc_name = set()

    #psutil.process_iter()会返回操作系统下所有进程名及进程ID
    for p in psutil.process_iter():
        proc_dict[p.pid] = p.name()
        proc_name.add(p.name())
    print(proc_dict)
    print('\n\n--------------------------\n')
    print(proc_name)

    # monitor_name - proc_name == died process name
    #提取到那个监控进程没有启动
    proc_stop = monitor_name - proc_name
    print(proc_stop)
    if proc_stop:
        for p in proc_stop:
             p_status = '停止'
             p_name = p
             data ={p_status,p_name,time_now}
             headers = {'Content-Type':'application/json;charset=utf-8'}
             #send_data = json.dumps(data).encode('utf-8')
             #发邮件给管理人员
             #request.post(url=url,data=send_data,headers=headers)

             os.system(monitor_map[p])
             proc_name = set()

             for p2 in psutil.process_iter():
                 proc_name.add(p2.name())

             if p in proc_name:
                  print("重启成功")
              else:
                  print("重启失败")
	time.sleep(2000)		          

五,运行之后的效果:

执行后的效果

在这里插入图片描述

六,参考视频链接

感谢 b栈 up主 15112899479 的视频讲解


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/25645.html

服务  监控  进程  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 远山长天青晓免费在线(乔意林景辞秦艺晚)_远山长天青晓免费在线
  • 完结文经年离歌愁未休+结局+番外列表_完结文经年离歌愁未休+结局+番外(顾允廷宋卿落)
  • 老婆骂我废物,却又求我爱她小说免费试读_「秋芙然姜言铭言铭哥」小说精彩节选推荐
  • 完结文余留空念与微风最后结局列表_完结文余留空念与微风最后结局(傅时砚许初玖)
  • 全文此去经年人未还+后续+番外(沈青禾贺临渊)列表_全文此去经年人未还+后续+番外
  • [冷战两个月后,我选择跳楼回家]最新后续章节在线阅读_柳依依宋青雪儿人物羁绊章节精选
  • 女儿有钱后却转身起诉苦命妈妈全列表_女儿有钱后却转身起诉苦命妈妈全(陈雨晴林淑芬)
  • 带女儿离婚后,偏爱白月光的父子俩后悔了章节限时抢先看‌_凤遥免费试读
  • 女儿有钱后却转身起诉苦命妈妈(陈雨晴林淑芬)全书浏览_女儿有钱后却转身起诉苦命妈妈全书浏览
  • 完结文远山长天青晓+后续+结局列表_完结文远山长天青晓+后续+结局(乔意林景辞秦艺晚)
  • 此去经年人未还全书+后续(沈青禾霍沉洲)列表_此去经年人未还全书+后续(沈青禾霍沉洲)此去经年人未还全书+后续在线
  • 桃花依然笑春风全书+后续+结局(陆乘渊云梵音)列表_桃花依然笑春风(陆乘渊云梵音)桃花依然笑春风全书+后续+结局在线

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1