iT邦幫忙

2024 iThome 鐵人賽

DAY 28
1

Zabbix 與 Web API

由於 Web 的應用已經普級到許多層面,有時候我們想要透過 Web 瞭解系統(在此指網頁應用程式)運作狀態,比如線上人數、交易量、API 內部資訊⋯⋯等項目,這些已經超過作業系統的監控範圍。

此時有關 Web 的資訊,我們可以使用 Webhook 取得網頁資訊,通常的應用是取得 API 資料。

在此我們使用一個簡單的 PHP 程式來模擬 API 的回應,再透過 Zabbix 取得這些項目。

在 vm:server62 建立服務

這個練習在 server62 實做。

安裝 Apache 與 PHP 相關套件。

root# dnf install -y httpd php-fpm php-json && systemctl enable --now httpd
root# firewall-cmd --permanent --add-service=http
root# firewall-cmd --reload

編寫一個測試用的 PHP 程式,每次存取是都會輸出一筆隨機的 random 數值。

root# vi /var/www/html/data.php
<?php
header('Content-Type: application/json');

$users = rand(0, 1000);
$system_loading = rand(0, 100);

$datetime = date('Y-m-d H:i:s');

$data = array(
    "datetime" => $datetime,
    "users" => $users,
    "system_loading" => $system_loading
);

echo json_encode($data);
?>

在 Zabbix Proxy 查看網頁資料

這個練習在 Zabbix Proxy

由於這個網頁最終會由 Proxy 進行整合,所以我們要在 Zabbix Proxy 中測試可以取得相關資料。

root# curl http://192.168.2.62/data.php

CleanShot 2024-07-30 at 20.23.39@2x


上一篇
Day27: 使用 Zabbix 蒐集 SNMPv3 監控資料
下一篇
Day29: 在 Zabbix 中取得 WebAPI 提供之資料
系列文
Zabbix 7.0 LTS: 洞察系統運作狀態,一套搞定31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言