我的编程空间,编程开发者的网络收藏夹
学习永远不晚

linux服务监控及运维

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

linux服务监控及运维

目录
  • 一, 安装psutil 包
  • 二,找到操作系统中所有的服务的name和pid
  • 三,找到需要监控但没有启动的服务
  • 四,监控服务,如果没有开启则自动开启,[并发邮件通知工作人员]

 

一, 安装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

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

 1.使用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("重启成UtrSAIk功")
              else:
                  print("重启失败")
 time.sleep(2000)

运行之后的效果:

linux服务监控及运维

到此这篇关于linux服务监控及运维的文章就介绍到这了,更多相关linux服务内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

linux服务监控及运维

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux服务监控及运维

目录一, 安装psutil 包二,找到操作系统中所有的服务的name和pid三,找到需要监控但没有启动的服务四,监控服务,如果没有开启则自动开启,[并发邮件通知工作人员] 一, 安装psutil 包 1.1、安装压缩包:以root身份登陆
2022-06-04

无监控,不运维:解读企业全栈式监控运维

企业应用由单体应用系统向分布式系统的发展趋势已经不可逆转。十年前 “SOA” 大频率的出现在软件系统招标技术架构要求书中,相信用不了多久“微服务架构”也会被频繁提及——分布式系统将成为主流。01为什么分布式系统会“火”?因为业务应用随着自身
2023-06-04

[开发]Python实现运维监控服务器硬

今天通过使用Python开发针对服务器硬件运行状态的监控,简单了解下在虚拟环境中的运维监控的实现,算是给全面研究云计算开一个头。1.先准备环境,软件配置如下:虚拟环境:     Vmware 10操作系统:     Linux ubuntu
2023-01-31

Linux运维基础进程管理实时监控控制

目录1.后台运行作业2.使用信号控制进程基本进程管理信号3.监控进程活动IO负载4.实时进程监控top用于实现全屏动态显示系统信息1.后台运行作业1.sleep 999 & (运行作业) [root@localhost ~]# sleep
2022-06-04

数据库监控工具--PIGOSSBSM运维监控管理系统

数据就是一切,各类数据在企业生产经营中都起着至关重要的作用,是所有的经营活动所依赖的,不可或缺的信息。数据就犹如企业经营者的眼睛一样,通过数据可以反映出所有的问题,就犹如舵手依赖导航一样。现在每个企业和组织发展都需要依赖大量的数据,数据也成
2023-06-04

用Python实现多站点运维监控

在小型公司里如果产品线单一的话,比如就一个app, 一般1~2个运维就够用了。如果产品过于庞大,就需要多个运维人员。但对于多产品线的公司来说,运维人员就要必须分多个人负责,因为超过200个站点让1个人维护,那工作量是巨大的,就单单给开发的沟
2023-01-30

NETCONF工具与智能化网络监控运维

截至2020年3月,中国网民规模为9.04亿,较2018年底增长7508万,互联网普及率达64.5%;手机网民规模达8.97亿,网民使用手机上网的比例达99.3%。可以说,人们的生活越来越依赖网络,尤其是受疫情影响,很多线下业务也转型网络运
2023-06-04

共抗疫情|PIGOSS为医疗机构免费提供运维监控服务

PIGOSS助力医疗机构,共抗疫情2020年初始,新型冠状病毒感染的肺炎疫情席卷了各地,此次疫情牵动着全国人民的心,全国同心一起战“疫”。春节前后的日日夜夜,我们的白衣天使日夜守护,各医疗机构加入了抗疫大军。伴随着新冠状肺炎人数的每日剧增,
2023-06-04

Linux服务器硬件运行状态及故障邮件提醒的监控脚本分享

监控硬件运行状况 shell 监控cpu,memory,load average,记录到log,当负载压力时,发电邮通知管理员。 原理: 1.获取cpu,memory,load average的数值 2.判断数值是否超过自定义的范围,例如(
2022-06-04

java怎么监控服务器运行状态

Java服务器监控指南本文介绍了使用Java工具和技术有效监控服务器运行状态的方法。它涵盖了JMX、日志记录框架、度量框架、监控代理、要监控的指标类型、阈值和警报、可视化以及自动化。遵循这些最佳实践有助于建立一个全面的监控解决方案,确保系统健康、性能和正常运行时间。
java怎么监控服务器运行状态
2024-04-10

怎么监控 Linux 服务器状态

本篇文章给大家分享的是有关怎么监控 Linux 服务器状态,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。导读Linux 服务器我们天天打交道,特别是 Linux 工程师更是如此
2023-06-05

Linux MySQL服务监控工具对比

Monyog: Monyog是一个易于使用的MySQL监控工具,提供了实时监控、性能分析、查询优化、用户权限管理等功能。它具有直观的界面和报表功能,可以帮助用户快速发现数据库性能问题并进行优化。Percona Monitoring and
Linux MySQL服务监控工具对比
2024-08-16

怎么监控Linux服务器状态

这篇文章给大家分享的是有关怎么监控Linux服务器状态的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux 服务器我们天天打交道,特别是 Linux 工程师更是如此。为了保证服务器的安全与性能,我们经常需要监
2023-06-16

如何监控 Linux 服务器状态

linux 服务器我们天天打交道,特别是 Linux 工程师更是如此。为了保证服务器的安全与性能,我们经常需要监控服务器的一些状态,以保证工作能顺利开展。 本文介绍的几个命令,不仅仅适用于服务器监控,也适用于我们日常情况下的开发。 1. w
2022-06-04

分布式系统中 Golang 函数的监控和运维

在分布式系统中,可以利用以下工具对 go 函数进行监控和运维:监控:prometheusinfluxdbstatsd运维:opencensusjaegerzipkin通过这些工具,可以收集指标、跟踪调用和记录负载信息,全面了解函数的行为和性
分布式系统中 Golang 函数的监控和运维
2024-04-19

阿里云Linux数据库服务器地址及运维管理

随着企业信息化的深入发展,数据已经成为企业的重要资产。而数据库作为数据的存储和管理工具,其安全性、稳定性、效率和性能是至关重要的。在众多数据库系统中,阿里云的数据库服务器以其稳定可靠、高效便捷的特点,受到了广大用户的青睐。本篇文章将详细介绍阿里云Linux数据库服务器地址,并对其运维管理进行深入解读。阿里云Lin
阿里云Linux数据库服务器地址及运维管理
2023-11-07

如何设置linux服务器进程监控及自动重启

本篇内容主要讲解“如何设置linux服务器进程监控及自动重启”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何设置linux服务器进程监控及自动重启”吧!  首先我们要向crontab加入一个新
2023-06-13

编程热搜

目录