Hướng dẫn cách thiết lập thông báo tin nhắn văn bản SMS cho PRTG sử dụng Windows Powershell?

Bài viết này áp dụng cho PRTG Network Monitor 7 trở lên

Demo ‘Powershell’ Notification cho PRTG Network Monitor

PRTG Network Monitor là một công cụ giám sát mạng cung cấp nhiều khả năng cho việc gửi thông báo về những thông tin quan trọng, ví dụ như khi một thiết bị hoặc các cảm biến riêng lẻ gặp sự cố, các ngưỡng bị vi phạm, các thiết bị không phản hồi kịp thời, v.v.

PRTG sử dụng các nhà cung cấp dịch vụ gửi SMS tùy chỉnh hoặc được xác định trước (“SMS gateways”) để cảnh báo cho người dùng. Nếu như vậy vẫn chưa đáp ứng được nhu cầu của bạn, PRTG cũng cho phép người dùng tự tạo cơ chế thông báo của riêng mình bằng cách sử dụng các tệp tập lệnh như file batch hoặc tập lệnh powershell.

Tập lệnh demo powershell sau đây là một ví dụ về cách tạo thông báo SMS tùy chỉnh bằng cách sử dụng nhà cung cấp dịch vụ bulssms.co.uk. Nó cũng có thể dễ dàn điều chỉnh cho các dịch vụ khác.

Tập lệnh phải được sao chép vào thư mục  ‘notifications\exe’ của cài đặt máy chủ lõi PRTG của bạn.

# Demo 'Powershell' Notification for Paessler Network Monitor 7.x
# Sends a SMS by calling http://www.bulksms.co.uk.
# To use it you need a valid account with 'BulkSMS'
#
# How to use it:
#
# Create an EXE notification within PRTG, select 'Demo Exe Notification - Sends SMS via BulkSMS.ps1' as program,
# The parameter section consists of three parameters:
#
# - Username
# - Password
# - Message
#
# e.g.
#
#        myusername mypassword '%device %message'
#
# Note that the third parameter needs to be within quotation marks, otherwise it is considered as multiple parameters.
# Adapt error handling to your needs.

if ($Args.Count -eq 0) 
{
  write-host 'No Arguments'
  exit 1;
} 
elseif ($Args.Count -eq 3)
{
  $str = [System.Uri]::EscapeDataString($Args[2]);
  $url = "http://www.bulksms.co.uk:5567/eapi/submission/send_sms/2/2.0?username=" + $Args[0] + "&password=" + $args[1] + "&msisdn=491743041972&message=" + $str
  $req=[System.Net.HttpWebRequest]::Create($url);
  $res = $req.GetResponse();
  write-host $url;
  exit 0;
}
else
{
  write-host 'Wrong number of arguments';
  exit 2;
}
Vấn đề bảo mật

Bạn không nên nhập trực tiếp mật khẩu, tham số, v.v. vào tập lệnh của mình. Thay vào đó, bạn có thể sử dụng trường tham số trong PRTG để chuyển các giá trị này cho tập lệnh của bạn khi cần nó.

Xem thêm

Biên dịch bởi Minh Hạnh – Help.pacisoft.com