跳到主要內容

發表文章

PRTG自訂Web API

PRTG有提供Web API可以讓我們取得監控資料,也可以自訂Web API來讓我們有更大的彈性來使用。
1、到PRTG的安裝目錄的webroot\api內       例如:C:\Program Files (x86)\PRTG Network Monitor\webroot\api
2、Web API的程式都在這裡,複製一個並更名,      例如:getstatus.htm -> getstatus_customer.htm
3、格式可參考其他Web API的內容來自訂格式       例如:{ "Status": "<#objectstatus name="status" show="text">" }       可回傳object的status狀態,回傳格式為JSON
4、不用開機即可使用,使用方式與Web API一樣,例如: http://192.168.1.131:9090/api/getstatus_custom.htm?id=3322&name=status&show=text

PRTG。允許AJAX跨網域存取

為了資訊安全,瀏覽器的安全性是不允許ajax跨網域存取,但是如果真有需要跨網域或開發測試上需求,可以修改Http Response Header,允許特定網域跨網存取。
瀏覽器在不允許跨網的設定下使用ajax時,會出現no access-control-allow-origin的錯誤

在Windows用cmd輸入regedit,開啟登錄檔編輯器,並依作業系統依下列選擇路徑 1. On a 64-bit Windows system      HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Paessler\PRTG Network Monitor\Server\Webserver 2. On a 32-bit Windows system     HKEY_LOCAL_MACHINE\SOFTWARE\Paessler\PRTG Network Monitor\Server\Webserver
選擇新增 -> 字串值

Python BeautifulSoup模組爬蟲BPM帳號申請單程式

爬蟲程式可以讓我們取出網頁中指定的元素並加以利用
BeautifulSoup是Python的一個解析HTML的模組,方便我們找出HTML元素並加以利用。
因為BPM是以ASP.NET設計,所以在分析Request上需要有一些注意
ASP.NET在傳送Request時,會有幾個特殊的動態參數,這些參數值會依不同的頁面而不同,所以該參數的內容必須是上一頁的值,否則會產生Error
我是以Chrome的開發人員工具來觀察Request與Response,ASP.NET在Request(POST模式)時,會有下列特殊的動態參數: __EVENTTARGET、__EVENTARGUMENT、__VIEWSTATE、__VIEWSTATEGENERATOR、__VIEWSTATEENCRYPTED、__EVENTVALIDATION
其中__VIEWSTATE、__EVENTVALIDATION的值必需是上一頁Response傳回的值,例如由index.htm -> a.htm -> b.htm 由index.htm按下連結至a.htm後,a.htm除了有HTML之後,還加上__VIEWSTATE、__EVENTVALIDATION的值, 而如果要連結到b.htm時,由a.htm發出的POST Request就必須包含b.htm的__VIEWSTATE、__EVENTVALIDATION的值
import requests from bs4 import BeautifulSoup #HttpNtlmAuth模組可以讓Python登入Windows網域 from requests_ntlm import HttpNtlmAuth import re from datetime import datetime,timedelta import sys

#帳號申請單分析 def Account_Apply(soup) :     txtUserNo = str.strip(soup.find('input',{"id":"txtUserNo"}).get("value")) #申請的帳號     txtUserName = str.strip(soup.find('input'…

PRTG API Return 401 : Unauthorized

在使用PRTG的API取回Sensor的資料時,resopnse code為401 : Unauthorized 在瀏覽器上使用API時,因為瀏覽器有登入PRTG,故沒有出現這個問題,但是改以python的requests模組使用api時就出現了這個錯誤的訊息。
回到PRTG管理頁上,在設置 -> 帳戶設定 -> 我的帳戶 ,點選passhash並將值記錄下來,例如passhash值為123456

PRTG監控ERP AAS(SSH腳本)

PRTG是一套監控軟體,支援多種方式來監控系統、設備,此次利用PRTG SSH腳本的功能來嘗試監控Oracle ERP系統的效能AAS。
1、首先要將PRTG的SSH連線建立起來,ERP的作業系統是Solaris 10 64bit版本。