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

网站建设工程设计图网站对应不同域名

网站建设工程设计图,网站对应不同域名,建设部网站继续教育,美发网站源码监控脚本开发帮助手册 如果您具备一定的采集脚本编写能力,在我们的平台上,您可以发挥它的最大价值! 本节主要讲解如何自己编写监控脚本监控目标设备 必备写脚本的基本技术: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/786074.html

相关文章:

  • 服装电子商务网站版式设计ftp 网站 怎么上传
  • 电商网站支付体系建设特点wordpress 爱情模板下载
  • 安徽网站seo公司网站建设业务员的话术
  • 做一个营销型网站有哪些内容西部数码网站空间
  • 广州微网站开发企业网站建设费用会计科目
  • 我爱你域名的网站查建设公司年度保证金网站
  • 从化建网站企业网站建设费用入哪个科目
  • 秦皇岛英文网站建设短视频seo系统
  • 长春做网站的公司哪家好哪里的佛山网站建设
  • 网站开发 站长统计协会宣传网站开发方案
  • 做淘客网站的小程序的推广方法
  • 电脑怎么做服务器 网站前程无忧企业官方网站
  • 网站的根目录是什么网站设计的公司叫什么
  • 网站主办者有效证件电子件重庆网站制作定制
  • 学校网站建设方案及报价商丘网
  • 漳州 网站建设公司哪家好嘉兴seo排名外包
  • 上海网站建设规划关于学校网站建设的需求分析
  • 珠海网站哪家好企业seo排名
  • 用asp.net做的网站有哪些佛山移动网站设计公司
  • 福田网站建设设计工程公司名称大全大气好听
  • 做外贸有哪些免费的网站有哪些深圳seo搜索优化
  • 松江品划网络做网站网站制作公司哪家专业
  • 企业网站建设开发多少钱成都青羊区网站建设
  • 高校学校网站建设细胞医疗 网站模版
  • 怎么注册网站重庆招标信息网官网
  • 外贸网站建设厦门建设网站群
  • 南京集团网站建设古镇网站建设
  • 惠州网站建设哪里找交换链接名词解释
  • 同一个网站绑定多个域名给窗帘做网站
  • 宁乡市建设局网站商务网站建设模板