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/basheth=eth0RXpre=$(ifconfig ${eth} | grep bytes | awk '{print $2}'| awk -F":" '{print $2}')TXpre=$(ifconfig ${eth} | grep bytes | awk '{print $6}' | awk -F":" '{print $2}')sleep 1RXnext=$(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/bashdaxiao=`ls -l /var/log/asterisk/messages |cut -d " " -f5`echo "0:$daxiao:messages!!!!!!!"
prtg change web default sound
1.mp3与ogg同时替换命名为beep2.并且要将mp3转换为ogg格式3.清空浏览器缓存
prtg邮件发送三步走
1.通知投递,设置smtp地址与用户名与密码2.通知3.触发prtg apiASAP as soon as possible172.16.1.14:8080prtg live graph 2小时120个值,1分钟扫描间隔2天 SSH Script sensorsonly one channel per sensorThe returned data for standard SSH Script sensors must be in the following format:returncode:value:messageValue 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/bashport="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}mainThese 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/shservice $1 status 2>&1 1>/dev/nullif [ $? -ne 0 ]; then echo "1:$?:$1 down"else echo "0:$?:OK"fi