Cacti: Графики. Мониторинг погоды под windows

Привет. Начну с середины. Так как пока не описал как устанавливать и настраивать систему мониторинга cacti. Эта статья подразумевает, что вы уже имели дело с cacti и кое что умеете.  Как то я захотел мониторить свои параметры, а не те, что заданы шаблонами SNMP. Наткнулся на хороший пример «мониторинг погоды Yandex«, но он мне не помог. В этом примере в крации раскрыта «Философия Cacti» помогает для пониманя происходящего.  Попробовав и потерпев неудачу открыл Help Simplest Method of Going from Script to Graph и о чудо, мне открылась тайна вселенной. И так на примере мониторинга погоды Yandex, средствами cacti установленной на Windows server 2008, я покажу как всё просто. И так начну:

1. Источник погоды.

Для начала нужна(нужен) установленная и работающая cacti. Далее ищем источник погоды. Это будет Yandex серваер, отдающий погоду в XML.

http://export.yandex.ru/weather/?city=27612

Где: 27612 — москва.

Список городов можно получить здесь:

http://weather.yandex.ru/static/cities.xml

2. Скрипт получения погодя.

В качестве языка написания скрипт я выбрал Powershell. Вот собственно сам скрипт.

# получение погоды с яндекса

#################
#
# Получения XML с погодой от Yandex.ru
#
#################
function get-YandexXMLweather()
{
$apiUrl = ‘http://export.yandex.ru/weather/?city=27612’ # 27612 — москва
$client = new-object System.Net.WebClient
$client.Headers.Add(«Content-Type», «application/x-www-form-urlencoded»)
$client.Encoding = [System.Text.Encoding]::UTF8
$quote = $client.UploadString($apiUrl, ‘method=getQuote&format=xml’ )

Return $quote
}

#########SCRIPT BLOCK####################

CLS

#Запрос к Ya
[xml]$xml = get-YandexXMLweather

#Температура

[string]$t = $xml.weather.temperature
Write-host «YA-temperature:$t» -nonewline

#Давление
[string]$p = $xml.weather.pressure
Write-host » YA-pressure:$p» -nonewline

#Влажность
[string]$d = $xml.weather.dampness
Write-host » YA-dampness:$d» -nonewline

Скачать скрипт Get-YaWeather.ps1.

Есть нюанс. Если мы хотим из скрипта передать несколько значений, то нужно соблюсти формат вывода, иначе cacti не прочитает значения. Формат таков: Имя-переменной:значени. Пример:

YA-temperature:+15 YA-pressure:747 YA-dampness:53

Другой нюанс. Я не придумал как из cacti запускать Powershell скрипты и по этому написал батник который запускает POSH.

@ECHO OFF
powershell.exe -file c:\inetpub\cacti\scripts\win\Get-YaWeather.ps1

Третий нюанс.  Нужно убедиться, что в системе разрешён запуск не подписаных POSH скриптов, запустив Get-ExecutePolicy, и  проверить работу скрипта.

Скрипт Powershell отправляет запрос к Web серверу, получает ответ в виде XML. Далее явно задаём тип переменной [xml]  и присваиваем ей полученное значение от  get-YandexXMLweather. После плучаем соответствующее значение из XML.

3. Создание графика в cacti.

Логинемся 8). Открываем раздел «Data Input Methods» и создаём новый метод. см картинку ниже:

Настройка Data Input Methods в cacti

Настройка Data Input Methods в cacti

Output Fields должны совпадать с именами переменных выводимых скриптом (раздел 2 статьи)

Далее идём в раздел «Data Sources» и создаём источники данных. см картинку ниже

Data Template Selection — оставляем оба поля none. Указываем имя Ya-template-source, выбераем input method. Я не стал выбирать ежеминутную запись, а начал с 5 минутной.

Настройка cacti Data Source (на примере температуры)

Настройка cacti Data Source (на примере температуры)

И так же делаем с давлением(pressure)

 

Настройка cacti Data Source

Настройка cacti Data Source

 

 

 

 

 

и влажностью (dampness)

Настройка cacti Data Source

Настройка cacti Data Source

Теперь пришло время создать график из источников данных которые только что создали.

Открываем «Graph Management». Graph Template Selection оставляем оба поля none. Далее по картинке:

График cacti

График cacti

Содаём пункты графика- Graph Items,  значения которые будут выводится на график и коментарии к ним. Их параметрв видны на скриншоте.

Нюан здесь такой: Так как давление имеет на много большее значение чем температура и влажность, график получается не очень красивый. По этому я создал отдельный график только с температурой.

4 Добавление графика в просмотр

Идём в «Graph Trees» там можно создать отдельный раздел для своего не типичного графика(там всё интуитивно просто). После того как выбрали нужный раздел жмём Add. Вот и всё.

По мотивам «Настройка cacti» О cacti

Об авторе Alex

Работаю Администратором. В основном Windows. Специализируюсь на Hyper-V
Запись опубликована в рубрике Powershell, Windows с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий