当前位置: 首页 > wzjs >正文

谷歌排名网站优化大良o2o网站建设

谷歌排名网站优化,大良o2o网站建设,wordpress安装到主机,剪辑视频怎么学监控脚本开发帮助手册 如果您具备一定的采集脚本编写能力,在我们的平台上,您可以发挥它的最大价值! 本节主要讲解如何自己编写监控脚本监控目标设备 必备写脚本的基本技术:shell 或者 python3 脚本验证的服务器必须已安装&…

监控脚本开发帮助手册

如果您具备一定的采集脚本编写能力,在我们的平台上,您可以发挥它的最大价值!

本节主要讲解如何自己编写监控脚本监控目标设备

必备写脚本的基本技术:shell 或者 python3

脚本验证的服务器必须已安装:python3,net-snmp-utils

  • 功能介绍

通过自己编写一个监控脚本,实现对目标设备的定制化监控。

  • 脚本开发示例

脚本相关名称解释:

  1. 监控系统如何识别脚本返回报警标识码,脚本返回的固定标识码如下:

0:表示监控指标正常状态

1:表示监控指标处于警告状态

2:表示监控指标处于严重状态

3:表示监控指标处于未知状态

  1. 监控系统如何识别脚本返回的报警数据:

当脚本返回相关状态标识码前,先打印相关信息即可,具体可看后续的示例。

  1. 脚本宏变量的定义格式为:$_SERVICE + 自定义名称 + $

举例如定义一个账号名称的宏变量: $_SERVICEACCOUNT$

  1. 监控系统全局常用宏变量标识及解释:

$HOSTNAME$:此值取自监控目标设备定义中的设备名称

$_HOSTSNMPCOMMUNITY$:此值取自监控目标设备定义中SNMP团体名称

$_HOSTSNMPVERSION$:此值取自监控目标设备定义中SNMP版本

$HOSTADDRESS$:此值取自监控目标设备定义中管理IP

示例1:使用shell语言编写一个简单的监控脚本

目标:采集目标linux服务器的主机名称

目标IP地址:127.0.01

目标服务器的snmp团体名:public

要求:目标服务器必须启动snmp服务并配置团体名称为:public,监控服务器必须可以访问到目标服务器的udp 161端口

      第一步:写一个监控脚本

脚本名称:check_hostname.sh

      脚本内容:

#!/bin/bash

# 简单示例:通过snmp采集操作系统的主机名称

# 脚本输出数字,监控系统根据数字识别报警状态: 0:正常,1:警告,2:严重,3:未知

# 脚本传递参数

ip=$1

comm=$2

# 定义snmp采集命令

out=`snmpwalk -v 2c -c ${comm} ${ip} SNMPv2-MIB::sysName`

if [ $? -eq 0 ];then

    result=$(echo $out | cut -d '=' -f 2 | awk -F':' '{print $2}'|tr -d ' ')

    echo 主机名称:$result

    exit 0

else:

    echo "命令执行失败"

exit 1

第二步:脚本编写完成后,进行功能验证

脚本解释:当前脚本是通过snmpwalk命令进行采集,所以当前主机需要已安装:net-snmp-utils

执行命令如下:

./check_hostname.sh 127.0.0.1 public

输出:主机名称:2f69f32b507d

第三步:验证完毕后,保存到容器脚本目录中并进行授权,命令如下:

docker cp check_hostname.sh gm-app:/dh3/plugins/

docker exec -i gm-app chmod 775 /dh3/plugins/check_hostname.sh

docker exec -i gm-app chown root:dh3 /dh3/plugins/check_hostname.sh

至此,一个监控脚本定制化准备完毕,接下来直接到监控平台的【CMDB-采集配置管理-检查命令配置】新建一条检查命令,命令行脚本名称为: check_hostname.sh

示例2:使用python3语言编写一个高级的监控脚本

目标:采集目标linux服务器的内存使用率,并具有报警和性能视图功能

目标IP地址:127.0.0.1

目标服务器的snmp团体名:public

报警阀值:80,90

要求:目标服务器必须启动snmp服务并配置团体名称为:public,监控服务器必须可以访问到目标服务器的udp 161端口

      第一步:编写一个监控脚本

脚本名称:check_memory.py

      脚本内容:

#!/usr/bin/python3

import subprocess

import sys

########定义SNMP函数

def get_snmp(ip,commu,oid):

    '''

    执行snmpwalk采集任务

    '''

    snmp_string='''snmpwalk -v 2c -c '{0}' '{1}' '{2}' '''.format(commu,ip,oid)

    snmp_list = subprocess.getoutput(snmp_string)

    return snmp_list

try:

    host_info = sys.argv

    ip = host_info[1]

    comm = host_info[2]

    warning = host_info[3]

    critical = host_info[4]

    # 获取总物理内存

    resp = get_snmp(ip, comm, 'UCD-SNMP-MIB::memTotalReal.0')

    total_memory = resp.split('INTEGER:')[1].strip().split()[0]

    # 获取可用物理内存

    resp = get_snmp(ip, comm, 'UCD-SNMP-MIB::memAvailReal.0')

    available_memory = resp.split('INTEGER:')[1].strip().split()[0]

    # 计算已使用的内存

    used_memory = int(total_memory) - int(available_memory)

    # 计算内存使用率

    memory_usage = '%d' % int((used_memory / int(total_memory)) * 100)

    if memory_usage < warning:

        print('OK 内存使用率:%s%%|内存使用率=%s%%;%s;%s;0;100' % (memory_usage,memory_usage,warning,critical))

        sys.exit(0)

    elif warning <= memory_usage <= critical:

        print('Warning 内存使用率:%s%%|内存使用率=%s%%;%s;%s;0;100' % (memory_usage,memory_usage,warning,critical))

        sys.exit(1)

    else:

        print('Critical 内存使用率:%s%%|内存使用率=%s%%;%s;%s;0;100' % (memory_usage,memory_usage,warning,critical))

        sys.exit(2)

except Exception as e:

    print('Unknown 内存使用率:监控脚本未采集到目标设备的内存数据')

    sys.exit(3)

脚本报警块解释:此python3脚本通过snmp采集目标设备的内存当前使用率,我们设定了告警阀值2个,一个实一般告警阀值(warning),一个实严重告警阀值(critical),运行脚本后当采集到的数据小于warning值,即为服务正常,如果采集到的数据大于warning并小于critical,即为输出一般告警,如果采集到的数据大于critical,即为输出严重告警,当没有采集到数据或者其他错误,均输出未知状态。

脚本性能视图块解释:

print('OK 内存使用率:%s%%|内存使用率=%s%%;%s;%s;0;100' % (memory_usage,memory_usage,warning,critical))

涉及性能视图代码通过管道符分隔:内存使用率=%s%%;%s;%s;0;100' % (memory_usage,memory_usage,warning,critical)

以下分段解释

       内存使用率:性能视图的监控目标点

       分号分隔的第一列变量替换为:memory_usage %%:

             memory_usage:当前监控指标的监控值

             %%:当前监控指标的单位(百分号:%)

       分号分隔的第二列变量替换为:warning:

             Warning:警告值(可选)

       分号分隔的第三列变量替换为:critical:

             critical:严重值(可选)

       分号分隔的第四列和第五列为:最小值和最大值(可选)

      

       第二步:脚本功能验证

脚本解释:当前脚本是通过snmpwalk命令进行采集,然后对采集到的数据进行结果分析,并打印对应的输出结果,所以当前主机需要已安装:net-snmp-utils, python3

假设监控目标主机为:127.0.0.1 目标团体名称为:public 警告阀值:80,严重阀值:90 执行命令如下:

./check_memory.py 127.0.0.1 public 80 90

输出:Critical 内存使用率:97%|内存使用率=97%;80;90;0;100

      第三步:验证完毕后,保存到容器脚本目录中并进行授权,命令如下

docker cp check_memory.py gm-app:/dh3/plugins/

docker exec -i check_memory.py 775 /dh3/plugins/check_memory.py

docker exec -i check_memory.py root:dh3 /dh3/plugins/check_memory.py

至此,一个高级的监控脚本定制化准备完毕,接下来直接到监控平台的【CMDB-采集配置管理-检查命令配置】新建一条检查命令,命令行脚本名称为: check_memory.py

http://www.dtcms.com/wzjs/804124.html

相关文章:

  • 网站建设运营公司企业特色php 建网站
  • 官方网站怎么推广怎么搭建网站友情链接
  • 网站留言短信通知seo外链高质量网站
  • 已备案个人网站做淘宝客株洲市建设质监站网站
  • 广州定制网站公司网站seo服务
  • 江苏住房和建设厅网站上海跨境电商网站开发公司排名
  • 提升学历的目的和意义seo公司网站
  • joomla网站模板lnmp wordpress 502
  • 顺德购物网站建设百度小程序可以根据网站的要求做吗
  • 云南昆明网站建设价格wordpress 您没有足够的权限
  • 营销网站案例百度不收录你的网站产品
  • 奉化建设网站公司网站建设全包
  • 单词优化和整站优化app制作软件多少钱
  • 响应式环保网站模板下载个人网站实现与设计论文
  • 微信公众平台登录页面全能优化大师
  • 湖南营销型网站建设 皆来磐石网络双流建设局网站
  • 龙岗公司做网站商场设计与商品陈列
  • 网站建设 丽水南京做代账会计在哪个网站上找
  • 自建网站服务器潍坊建设部门管理网站
  • 最大的搜索网站排名有没有做装修中介的网站
  • 搜狐快站怎么样高端的咨询行业网站制作
  • 深圳英文网站制作北京 网站备案
  • 中国站长之家域名查询网站双链接怎么做
  • 电子商务网站开发的内容石景山周边网站建设
  • 网站流量统计软件做网站的工作量
  • 网站系统建设项目wordpress怎么做小说站
  • 邯郸做网站推广多少钱绵阳网站建设怎么做
  • 马克·扎克伯格大学做的网站宿豫建设局网站
  • 用什么软件上传网站音乐网站建设流程
  • 99元一月做网站制作wordpress模板