prtg

http://www.paessler.com/prtg/features

prtg的sensor技术

数据库监视

Flexible Alerting

  • 9 notification technologies: Send Email, SMS/Pager, syslog and SNMP Trap, HTTP request, Event log entry, Play alarm sound files, Amazon SNS, any external technology that can be triggered by an EXE or batch file
  • Status alerts (up, down, warning)
  • Limit alerts (value above/below x)
  • Threshold alerts (above/below x for y minutes)
  • Multiple condition alerts (x and y are down)
  • Escalation alerts (extra notifications every x min during downtime)
  • Dependencies (avoid alarm floods)
  • Acknowledge Alarms (no more notifications for this alarm)
  • Alert Scheduling (no low priority alerts at night)

通知投递  告诉prtg如何发送消息

通知    定义消息的类别与内容

通知触发  

prtg api编程

<prtg>
<text>
</text>
<error>
</error>
<result>
</result>
</prtg>

<prtg>
<result>
<channel>a</channel>
<value>10</value>
</result>
<result>
<channel>b</channel>
<value>20</value>
</result>
</prtg>

[root@109-com1 scripts]# cat rx
#!/bin/bash
eth=eth0
RXpre=$(ifconfig ${eth} | grep bytes | awk  '{print $2}'| awk -F":" '{print $2}')
TXpre=$(ifconfig ${eth} | grep bytes | awk '{print $6}' | awk -F":" '{print $2}')
sleep 1
RXnext=$(ifconfig ${eth} | grep bytes | awk  '{print $2}'| awk -F":" '{print $2}')
TXnext=$(ifconfig ${eth} | grep bytes | awk '{print $6}' | awk -F":" '{print $2}')

echo "0:$(((${RXnext}-${RXpre})/1024)):recv!!!KB/s"

[root@109-com1 scripts]# cat daxiao
#!/bin/bash
daxiao=`ls -l  /var/log/asterisk/messages |cut -d " " -f5`
echo "0:$daxiao:messages!!!!!!!"

prtg change web default sound  
1.mp3与ogg同时替换命名为beep
2.并且要将mp3转换为ogg格式
3.清空浏览器缓存

prtg邮件发送三步走
1.通知投递,设置smtp地址与用户名与密码
2.通知
3.触发

prtg api
ASAP as soon as possible
172.16.1.14:8080

prtg
live graph 2小时120个值,1分钟扫描间隔
2天

SSH Script sensors

only one channel per sensor

The returned data for standard SSH Script sensors must be in the following format:
returncode:value:message

Value has to be a 64 bit integer or float and will be used as the resulting value for this sensor (e.g. bytes, milliseconds, etc.),
message can be any string and will be stored in the database.

[%sitename] %device %name %status %down (%message)

C:\ProgramData\Paessler\PRTG Network Monitor\

#!/bin/bash

port="80"
service="WEB"

NETSTAT=`which netstat`
ID=`which id`

die(){
    exit 999
}

is_root(){
    local id=$($ID -u)
    if [ $id -ne 0 ]
    then
        echo "4:500:You have to be root to run $0."    # returncode 4 = put sensor in DOWN status
        die
    fi
}

preparation(){
    if [ ! -x $NETSTAT ]
    then
        echo "2:500:netstat not found."
        die
    fi
    if [ ! -x $ID ]
    then
        echo "2:500:id not found."    # returncode = 2 = put sensor in DOWN status
        die
    fi
    is_root
}

check_service(){
    serviceIsRunning=false
    openPorts=$($NETSTAT -tulpn | grep -vE '^Active|Proto' | grep 'LISTEN' | awk '{ print $4}' | awk -F: '{print $NF}' | sed '/^$/d' | sort -u)
    for openPort in $openPorts
    do
        if [ "$port" == "$openPort" ]
        then
            serviceIsRunning=true
            echo "0:200:$service is running."    # returncode 0 = put sensor in OK status
            break
        fi
    done
    if [ $serviceIsRunning == false ]
    then
        echo "1:404:$service is not running."    # returncode 1 = put sensor in WARNING status
    fi
}

main(){
    preparation
    check_service
}

main

These few lines cover a lot of simple service check needs.
Here's a super simple service check script I'm using on Ubuntu systems. When you set it up in PRTG, just put the service name you want to check in the parameter box.
That becomes $1 in the script. $? is the status of the service as reported by the service command.
This is all assembled in the echo to be formatted to make PRTG show pretty and informative results.

#!/bin/sh

service $1 status 2>&1 1>/dev/null

if [ $? -ne 0 ]; then
  echo "1:$?:$1 down"
else
  echo "0:$?:OK"
fi

prtg的更多相关文章

  1. PRTG测试!

    http://www.paessler.com/prtg. 我的效果图:

  2. PRTG参考价格

    2010年的香港的网站上看到如下价格:http://kb.option-hk.com/?tag=prtg-network-monitor 什么才算一个sensor What counts as a s ...

  3. 使用PRTG和panabit结合定位网络阻塞的来源

    一.背景   在网络管理工作中,有时会出现网络阻塞,需要定位阻塞来源以采取措施解决问题.二.以一个网络阻塞案例说明定位方法   案例:某企业日常使用多条网络线路,某一段时间发现某条线路传输速率下降,对 ...

  4. PRTG安装

    1.去官网下载,记录下试用秘钥,然后执行安装 2. 3. 4.输入秘钥 5. 6.安装完成后自动转到如下页面,点击启动Guru 7. 8. 9. 10.输入prtgadmin,密码prtgadmin ...

  5. opsview

    nagios,cacti,opsview,prtg,zabbix http://www.opsview.com 1.需要注册一个账号,createyuan#sohu.com

  6. linux服务之crond

    use the following command add entries to crontab should take effect right away. right away(立即,立刻) #c ...

  7. linux知识点

    通过gui来使用通过api来使用通过cli来使用通过tui来使用 进程不在,但tcp连接还一直存在的解决办法--tcpkill命令 http://www.centoscn.com/CentOS/Int ...

  8. 虚拟化之vmware-vsphere (web) client

    两种客户端 vsphere client 配置>软件>高级设置里的变量 uservars.supressshellwarning=1 vsphere web client 安装完vSphe ...

  9. shell之脚本片断

    16. 以下是平台信息 CentOS Linux release 7.1.1503 (Core) Linux mysql-dev1 3.10.0-229.el7.x86_64 #1 SMP Fri M ...

随机推荐

  1. 集合set的使用

    将无序对象储存在集合中 集合是类似于数组的一组对象,只是其中包含的项目是无序的(而数组是有序的).您通过枚举集合中的对象,或者将过滤器或测试应用到集合,来随机访问集合中的对象(使用 anyObject ...

  2. 顺序表(C++)

    以下为数据结构中的顺序表实现代码,已测试能够运行.虽然说是C++版的,但是其实应该是C语言班的.C++应该是面向对象,用抽象方法实现,而以下代码是面向过程的,只是把C语言中的输入(scanf)和输出( ...

  3. Js验证userAgent是否来自手机端

    function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...

  4. C#_WinForm接收命令行参数

    C#_WinForm接收命令行参数 2014-08-03 10:17 534人阅读 评论(0) 收藏 举报 首先,我要仔细的声明下,本文讲的是接受命令行参数,让程序启动.而不是启动那个黑黑的框...我 ...

  5. xp 共享 guest

    一.首先启用guest来宾帐户 二.控制面板→管理工具→本地安全策略→本地策略→用户权利指派里,“从网络访问此计算机”中加入guest帐户,而“拒绝从网络访问这台计算机”中删除guest帐户: 三.我 ...

  6. vs2013 c++代码内出现中文导致编译错误

    简单的做法就是,首先,菜单栏->文件->高级保存选项,选择utf-8 无签名, 然后,如果是发现注释语句里有中文,可以让注释语句与下行代码中间空一行, 如果是代码里有用到中文,那么就在中文 ...

  7. ubuntu 登录循环

    星期一大清早一来,就出现这毛病.折腾了办个多小时,终于搞定: 我的原因:上周五的时候为了装hive改动了/etc/enviroment里面的东西,导致出错. 解决办法:1.Ctrl + Alt + F ...

  8. C# 入门篇之listview用法

    在用listview,经常对各种属性都不了解,用完了,下次又忘:写个随笔记记. 看到别人已经有总结很详细的,就直接转过来了,可能中间会有一些自己加的. ------------------------ ...

  9. 解决:导入第三方jar包后,仍然出现java.lang.NoClassDefFoundError的错误

    最近,在运行某个Android工程的时候,一直抛出java.lang.NoClassDefFoundError异常. 按照异常所给出的信息,应该是程序使用到的第三方jar包出了问题. 但是,这些第三方 ...

  10. 矩阵基本运算的 Python 实现

    from...import与import区别在于import直接导入指定的库,而from....import则是从指定的库中导入指定的模块 import...as则是将import A as B,给予 ...