четверг, 20 марта 2014 г.

Ubuntu. Установка zabbix

Установка системы мониторинга zabbix на Ubuntu 12.04 LTS

Устанавливаем конфигурационный пакет репозитория  для zabbix
# wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.2-1+precise_all.deb
# dpkg -i zabbix-release_2.2-1+precise_all.deb
# apt-get update

# apt-get install libsnmp-dev

Устанавливаем zabbix (база + веб морда)
# apt-get install zabbix-server-mysql zabbix-frontend-php

В файле /etc/apache2/conf.d/zabbix (если нет, то создаём)
проверяем строки:
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Europe/Minsk
значения в мегабайтов можно увеличить, если предполагается сильная нагрузка.
Рестартуем apache:
# service apache2 restart
После этого переходим на веб морду и продолжаем установку.

Установка клиентов

На машинах клиентах устанавливаем клиенты zabbix. Пред установкой клиента полезно установить конфигурационный пакет репозитория для zabbix:
Ubuntu:# wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.2-1+precise_all.deb
# dpkg -i zabbix-release_2.2-1+precise_all.deb
# apt-get update
# apt-get install zabbix-agent
-----------------------------------
#wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.2-1+precise_all.deb && dpkg -i zabbix-release_2.2-1+precise_all.deb && apt-get update && apt-get install zabbix-agent
или
CentOS
# rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
# yum install zabbix-agent
Windows
скачиваем агент:
http://www.zabbix.com/download.php
Распаковываем в пупку (например: C:\Programm files\zabbix_agent). Прописываем его как сервис:
cmd:
#"C:\Programm files\zabbix_agent\bin\win32\zabbix_agentd.exe " --config "C:\Programm files\zabbix_agent\conf\zabbix_agentd.win.conf " --install
Для агента в конфигурационном файле настройки хоста и адреса сервера zabbix
# .....
.....
Server=192.168.2.200
....
Hostname=Windows/Linux host
.....
#.....
Далее добавляем хост в наблюдение через веб морду

Добавление оповещений

Толком так и не нашёл как оповещение можно добавлять через почту еле нашёл через скрипты. Последовательность следующая.
1. Делаем скрипт оправки
Скрипт 1. Приведён на одном из форумов. Отправка осуществляется при помощи sh скрипта на ssmtp:
#!/bin/sh
smtpemailfrom=zabbix@cosmostv.com
zabbixmailto=$1
zabbixsubject=$2
zabbixbody=$3
echo "From: \"Zabbix Monitoring\"<$smtpemailfrom>" > /tmp/notify.eml
echo "To: $zabbixmailto" >> /tmp/notify.eml
echo "Subject: $zabbixsubject" >> /tmp/notify.eml
echo "" >> /tmp/notify.eml
echo "This is Zabbix Monitoring. $zabbixbody" >> /tmp/notify.eml
echo "."
ssmtp ${zabbixmailto} < /tmp/notify.eml
для него необходимо поставить ssmtp:
# apt-get install ssmtp
Скрипт 2. Взят из мануалки zabbix
#!/bin/bash
to=$1
subject=$2
body=$3

cat <<EOF | mail -s "$subject" "$to"
$body
EOF
2. Размещение скрипта
После создания скрипта запихиваем по пути который прописан в /etc/zabbix/zabbix_server.conf. Ищем строку
AlertScriptsPath=/usr/lib/zabbix/alertscripts
это и будет путь к скриптам срабатывающим по алертам. Естественно, делаем его исполняемым
# chmod a+x mailscript.sh
3. Добавление отправки
Далее идём в веб морду и настраиваем сначала Administration -< media type (Script) потом Configuration -> Action и добавляем действие
Описаны скрипты:
http://forum.lissyara.su/viewtopic.php?f=3&t=10939&start=150#p186295
http://forum.lissyara.su/viewtopic.php?f=3&t=10939&start=350
Описание добавления скрипта
http://zabbixbrasil.org/wiki/tiki-index.php?page=Envio+de+alertas+por+e-mail+utilizando+SMTP+autenticado

Датчики 

В железе клиентов имеется куча датчиков, с которых возможно снятие различных параметров. Zabbix агентом можно снимать некоторые показания командами которые прописываются в конфигурационном файле агента.
Рассмотрим работу на примере агента установленного на CentOS серверную версию. Сначала ставим ПО для снятия показаний с датчика:
# yum install lm_sensors
находим датчики
# sensors-detect
выводим показания датчиков
# sensors
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +31.0°C  (high = +81.0°C, crit = +91.0°C)
Core 0:        +29.0°C  (high = +81.0°C, crit = +91.0°C)
Core 1:        +24.0°C  (high = +81.0°C, crit = +91.0°C)
Core 2:        +27.0°C  (high = +81.0°C, crit = +91.0°C)
Core 3:        +30.0°C  (high = +81.0°C, crit = +91.0°C)
Core 4:        +30.0°C  (high = +81.0°C, crit = +91.0°C)
Core 5:        +29.0°C  (high = +81.0°C, crit = +91.0°C)

coretemp-isa-0006
Adapter: ISA adapter
Physical id 1: +34.0°C  (high = +81.0°C, crit = +91.0°C)
Core 0:        +27.0°C  (high = +81.0°C, crit = +91.0°C)
Core 1:        +29.0°C  (high = +81.0°C, crit = +91.0°C)
Core 2:        +22.0°C  (high = +81.0°C, crit = +91.0°C)
Core 3:        +34.0°C  (high = +81.0°C, crit = +91.0°C)
Core 4:        +23.0°C  (high = +81.0°C, crit = +91.0°C)
Core 5:        +27.0°C  (high = +81.0°C, crit = +91.0°C)

Если над вывод поработаем командой
# sensors|grep 'Core 0:'|cut -c17-18
29
27
то можем извлечь температуру которую нам нужно. Снятие температуры физических процессоров команда в данном случае будет:
sensors|grep 'Physical id 0:' | cut -c17-18
31
После игры с cut добиваемся выдачи значения температуры (чистого без знака и точки)
Добавляем в конфигурационный файл zabbix агента (/etc/zabbix/zabbix_agentd.conf) строки для нужных нам параметров
UserParameter=sensor.cpu_phys00_temp,sensors|grep 'Physical id 0:'|cut -c17-18
UserParameter=sensor.cpu_phys01_temp,sensors|grep 'Physical id 1:'|cut -c17-18
где sensor.cpu_phys00_temp и sensor.cpu_phys01_temp  - название данных, после запятой - консольная команда которая делает вывод данных
перезапускаем zabbix агент
service zabbix-agent restart
Переходим в веб морду zabbix и добавляем в нужном хосте данные (item) и прикручиваем к нему графики и триггеры соответствующие.

RAID

Ставим сначала MegaCLI for Linux. Скачать можно по ссылке http://www.lsi.com/support/Pages/download-results.aspx?keyword=MegaCLI
По умолчанию она становиться по пути /opt/MegaRAID/MegaCli/MegaCli64
основные команды
# /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll | grep -c "Online"
считает сколько веников онлайн во всех контроллерах
# /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll | grep "Error Count" | grep -cv "0"
считаем, если нет ошибок то 0, если есть, то количество строк ошибок посчитаем
чтобы прога запускалась от пользователя zabbix, но с root привилегиями нужно используя утилиту visudo  добавить в файл /etc/sudoers следующие строки:
Defaults:zabbix !requiretty
zabbix  ALL=NOPASSWD:/opt/MegaRAID/MegaCli/MegaCli64
Затем в файле конфигурации агента .
/etc/zabbix/zabbix_agentd.conf
Добавить пользовательские данные:
UserParameter=raid.hdd_count_online,sudo /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll|grep -c "Online"
перезапустить zabbix агент и дальше идём на web и добавляем данные и соответствующие триггеры







1 комментарий:

  1. Записки: Ubuntu. Установка Zabbix >>>>> Download Now

    >>>>> Download Full

    Записки: Ubuntu. Установка Zabbix >>>>> Download LINK

    >>>>> Download Now

    Записки: Ubuntu. Установка Zabbix >>>>> Download Full

    >>>>> Download LINK

    ОтветитьУдалить