Veeam ONE - Alarm Notification (Email/Telegram)
Cách 1. Gửi notification đến tài khoản email
Bước 1: Enable email notifications
- Veeam ONE > mở tab theo hình
- Mail Servers Settings > Enable email notifications > Chọn hình thức Authentication
1. Google Gmail
- Sign in with Google
- Sign in bằng tài khoản sẽ sử dụng để gửi mail > Xác thực theo các bước
- From: Nhập lại tài khoản email đã Sign in lúc xác thực
- Advanced
- Send Test Email: Nhập 1 tài khoản email để test gửi mail thành công chưa
2. M365
- Sign in with Microsoft > Xác thực theo các bước
- From: Nhập tài khoản email đã Sign in lúc xác thực
- Advanced
- Send Test Email: Nhập 1 tài khoản email để test gửi mail thành công chưa
3. Custom SMTP
- IP or DNS Name SMTP Server
- From: Nhập tài khoản email đóng vai trò là tài khoản gửi
- Send Test Email: Nhập 1 tài khoản email để test gửi mail thành công chưa
- Advanced
Use Authentication: Sử dụng 1 tài khoản email trên SMTP server để xác thực
Bước 2: Add các tài khoản email sẽ nhận được notification
- Notification Policy > Configure > Add (các tài khoản email sẽ nhận notification) > Notification level (cấu hình mức độ sẽ kích hoạt gửi mail)
- Template: Có thể chỉnh sửa theo nhu cầu/mục đích
- Email notification policies
- Mission Critical > Select các Object
- Other > Chu kỳ sẽ gửi email tổng hợp cho các object
Bước 3: Cấu hình Alarm để gửi email notification
Veeam ONE có sẵn các template Alarm, hoặc có thể custom tuỳ ý
- TH1: Test gửi email khi Backup Job state
- TH2: Test gửi email File backup job state
- TH3: Test gửi email khi Backup repository connection failure
Cách 2: Gửi notification đến Telegram
Bước 1: Tạo các thành phần cần thiết
- Tìm kiếm “fatherbot” > BotFather > Start
- Gõ: /newbot
- Tạo 1 name bất kỳ theo form nhưng mà phải mang tính duy nhất (example: TetrisBot or tetris_bot) > khi tạo thành công sẽ có 1 thông báo về HTTP API
- Tạo Channel
- Vào Bot lấy thông tin username
- Add Bot đã tạo vào Channel
- Quay lại channel: Administrator > Add Administrator > Search (Username của Bot đã lấy ở bước trước) > Phân quyền
- Tiếp theo Kiểm tra kết quả: Trên trình duyệt truy cập vào link sau: https://api.telegram.org/botHTTP_API/getUpdates (HTTP API đã được cung cấp khi tạo name)
- Quay lại Channel gửi đi 1 tin nhắn bất kì rồi quay lại link website (F5) sẽ có ID trả về
- Sau đó có thể Delete Bot: Quay lại BotFather: gõ /mybot > chọn Bot cần xoá > Delete
Bước 2: Viết Script
Ví dụ về 1 Script gửi thông báo về Telegram
Script
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
# Gộp và phân tách các tham số bằng dấu | để chống lỗi khoảng trắng
$RawArgs = $args -join " "
$Fields = $RawArgs -split "\|"
# Khai báo dữ liệu dữ liệu
$AlarmName = $Fields[0].Trim() # %1 (Alarm Name)
$TriggeredObject = $Fields[1].Trim() # %2 (Object)
$Details = $Fields[2].Trim() # %3 (Details - Log lỗi gốc)
$AlertStatus = $Fields[3].Trim() # %4 (Status)
$Time = $Fields[4].Trim() # %5 (Time)
# Nếu trạng thái bị chuyển thành Resolved hoặc Success, dừng lại không gửi tin rác
if ($AlertStatus -like "*Resolved*" -or $AlertStatus -like "*Success*") {
Exit
}
$Telegramtoken = "HTTP API đã được cung cấp ở Bước 1"
$Telegramchatid = "ID đã được cung cấp ở Bước 1"
# Tạo nội dung tin nhắn Form chuẩn theo từng yêu cầu
$TextMessage = @"
*Alarm Triggered*
*Object:* $TriggeredObject
*Alarm:* $AlarmName
*Status:* $AlertStatus
*Time:* $Time
*Details:* $Details
"@
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# Thực hiện gửi thông báo sang Telegram
$URL = "https://api.telegram.org/bot$Telegramtoken/sendMessage"
$Payload = @{
chat_id = $Telegramchatid
text = $TextMessage
parse_mode = "Markdown"
}
Invoke-RestMethod -Uri $URL -Method Post -Body $Payload
RUN: powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\vone-telegram7.ps1" %1|%2|%3|%5|%4
Bước 3: Cấu hình Alarm và Test thông báo qua Telegram
Đính kèm
Sửa lần cuối: