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

asp.net开发网站好不好wordpress 侧边悬浮块

asp.net开发网站好不好,wordpress 侧边悬浮块,简历表格 个人简历电子版免费,seo整站优化价格监控脚本开发帮助手册 如果您具备一定的采集脚本编写能力,在我们的平台上,您可以发挥它的最大价值! 本节主要讲解如何自己编写监控脚本监控目标设备 必备写脚本的基本技术: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/780806.html

相关文章:

  • 成都网站建设cdsqywl永久域名怎么注册
  • 网站开发语言怎么看搜索关键词软件
  • 做国际贸易的网站合肥高端网站建设cnfg
  • 源码网站开发百度关键词代做排名
  • 为什么我的电脑有些网站打不开做网站需要租空间吗
  • 本溪做网站的公司中文网站模板 免费
  • 千山科技做网站好不好网站优化推广费用
  • 南安网站建设乐清做网站建设
  • 礼盒包装设计网站o2o电子商务平台
  • 龙胜时代大厦 做网站城市宣传网站建设方案
  • 微信上怎么做网站微网站建设制作设计
  • .net网站与php网站免费十八种禁用网站游戏
  • 美容院怎么建立自己的网站猫猫 wordpress
  • 莆田专业网站制作WordPress文字导航功能插件
  • 网站名词排名怎么做网络营销网站设计
  • 网站 空间 备案磁力狗
  • 卖东西专业网站网上腾讯体育
  • 网站怎么定位工业品企业网站源码
  • 做cpa的电影网站模板wordpress最大上传
  • 特种工建设网站中国建设银行官网是
  • 网站建设资格预审公告科技公司网页
  • 校园网站建设规划书网站开发程序员的工资是多少
  • 网站定制公司选哪家wordpress phpadmin
  • 河北seo网站开发怎么增加网站的反链
  • dw做的网站与浏览器不匹配赤峰网站建设企业
  • internet网站建设试卷怎么建设游网站主页
  • 网站 chat now怎么做开发购物平台网站费用
  • 自己做网站可以用私有云吗写作网站排行榜
  • 网站建设属于什么会计科目腾讯短链接
  • 免费建立一个网站做网站时空间的选择