Показаны сообщения с ярлыком zabbix. Показать все сообщения
Показаны сообщения с ярлыком zabbix. Показать все сообщения

2018/05/17

Мониторинг ESXi 6.0 кластера в Zabbix 3.x


Настройка VCSA (vCenter Server Virtual Appliance)


Подключаемся к vCenter https://X.X.X.X/vsphere-client/?csp и создаём учётную запись zabbix с правами Read-only:


  1. Administration → Single Sign-On → Users and Groups. В домене vsphere.local добавляем пользователя zabbix.
  1. Administration → Access Control → Global Permissions. При добавлении новых прав, Assigned Role выбираем Read-only, в Users and Groups добавляем только что созданного пользователя zabbix.





































Настройка Zabbix 3.x


Настраиваем сервер:

vim /etc/zabbix/zabbix_server.conf
StartVMwareCollectors=5

systemctl restart zabbix-server

Переходим в Zabbix для подключения Zabbix к VCSA.

  1. Создаём новый хост в группе Hypervisors. Имя хоста не важно, я назвал VCENTER. Agent interfaces остаётся 127.0.0.1:10050, сервер будет заниматься опросом VCSA через SOAP протокол.
  2. Во вкладке Templates подключаем VCSA к Template VM Vmware
  3. Во вкладке Macros указываем реквизиты подключения к SDK VCSA:
    1. {$PASSWORD} = пароль
    2. {$URL} = https://X.X.X.X/sdk
    3. {$USERNAME} = zabbix@vsphere.local

Период Discovery — 1 час. Поэтому терпливо ждём. В результате Zabbix создаст группы с названием кластера, гипервизорами. Здесь не будет никаких триггеров, графиков — их нужно создавать самому.

2014/02/28

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)

# echo 'alter database zabbix collate utf8_bin;' | mysql -u root -p
# echo 'show tables;' | mysql -N -u username -p password zabbix | \
> perl -ne 'chomp; print "ALTER TABLE $_ CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;\n"' | \
> mysql -u username -p password zabbix

2011/09/06

Автоматическое оповещение события на мобильный с помощью Asterisk

Нашел в закромах - автоматическое оповещение на мобильный телефон о проблеме падения напряжения на вход УБП. В Zabbix добавили скрипт для триггера (Администрирование - Тип средства передачи - Сценарий), который по ssh выкладывает на Asterisk файл в /var/spool/asterisk/outgoing/, примерно следующего содержания:


где, %phone% заменяется на номер мобильного телефона. Астериск видит этот файл outgoing и сразу пытается его обработать - отзвонить, вызвав при этом контекст alarm. В конфигурации контекста записанный голосовой файл, который будет проигрываться после поднятия трубки:

[alarm]
exten => 205,1,Answer()
exten => 205,n,PlayBack(alarm)
exten => 205,n,Hangup()

Пример скрипта написанного "на коленке": https://gist.github.com/1197089.
P.S. Расположение скрипта Zabbix-ом определяется переменной AlertScriptsPath в файле zabbix_server.conf.

2011/08/03

Снимаем по SNMP статистику BIND9



Не знаю кому это будет интересно :) Я пока для себя решил подержать так недельку-другую, посмотрю на статистку. Пока добавил в crontab:
*/5 * * * * /usr/sbin/rndc stats
Затем установил Net-SNMP и добавил в snmpd.conf:


Скрипт bind96-stats-get.sh

После запуска snmpd можно обращаться с помощью Zabbix-агента с помощью SNMP к oid-ам: bind9-success, bind9-fail, bind9-nxdomain, bind9-recursion, bind9-dropped и bind9-othfail. Найти их можно так:

snmpwalk -c public -v2c localhost .1.3.6.1.4.1.2021.
Конфигурацию Zabbix опущу.

Идея и скрипты тут: Monitoring BIND9 UPDATE: 25/04/12

2011/07/28

Sudoers

Много потратил времени чтобы понять почему у меня активный Zabbix Agent не работает. Оказалось, агент не мог из-под пользователя zabbix выполнять команду через sudo: sorry, you must have a tty to run sudo.

В visudo был установлен параметр Defaults requiretty, отключил — заработало! :)

Из мана по sudoers:

requiretty —  If set, sudo will only run when the user is logged in to a real tty. When this flag is set, sudo can only be run
from a login session and not via other means such as cron(8) or cgi-bin scripts. This flag is off by default.

Спасибо form-у!

2010/08/27

Нагрузка CPU по SNMP в Zabbix

Необходимо следить за нагрузкой CPU во FreeBSD, снимать данные будем по SNMP (агента не рассматриваю, для этого есть темплейт).

UCD-SNMP-MIB::ssCpuRawSystem.0 — .1.3.6.1.4.1.2021.11.52.0
UCD-SNMP-MIB::ssCpuRawUser.0 — .1.3.6.1.4.1.2021.11.50.0
UCD-SNMP-MIB::ssCpuRawNice.0 — .1.3.6.1.4.1.2021.11.51.0
UCD-SNMP-MIB::ssCpuRawInterrupt.0 — .1.3.6.1.4.1.2021.11.56.0

Проникся интересным постом, из которого взял формулу множителя:


«1 * 100 / (delay between checks * number of timeticks per second * number of CPU)»


На нашем сервере два процессора "квадро", "top -P" показывает 8 ядер, "getconf CLK_TCK" - 128, интервал обновления в элементе - 30, по формуле: 1*100/(30*128*8) = 0.0033.

Единица измерения: %
Хранить значение: Дельта (простое изменение)
Пользовательский множитель: 0.0033 (в моём случае)

При создании графика надо сделать его "стэкируемым".

CPU Usage

Не знаю, насколько правильна формула, т.к. она была взята для Линуха, но очень похоже на правду :)

2010/06/29

Триггер в Zabbix на неполучение данных в течении заданного периода

{hostname:ups.temperature.nodata(120)}=1

В параметрах nodata указано время в секундах, в течении которых не были получены данные элемента.

2010/06/22

Zabbix и Jabber

Получение уведомлений через Jabber.

1. Ставим OpenFire (jabber-сервер).
http://unix4me.ru/archives/563
http://swix.codevue.ru/post/55

2. Многие ругаются что не работает встроенный Jabber в Zabbix, поэтому общественность предпочла решение — отправлять уведомления скриптом на Perl (я тоже последовал совету). За основу был взят скрипт отсюда: http://www.zabbix.com/forum/showthread.php?t=12200. Чуточку изменил его и выложил на github: http://github.com/dynax60/zabbix-scripts (jabber.pl)

3. Кладем скрипт jabber.pl, предположим, в /usr/local/etc/zabbix.
4. В конфиге zabbix_server.conf прописываем:

AlertScriptsPath=/usr/local/etc/zabbix

5. Рестартим zabbix-сервер. Далее, заходим в Zabbix: "Администрирование" - "Типы средств передачи" - кликаем по "Создать тип средства передачи", выбираем "Сценарий". Далее все и так ясно :) Создаём триггер, действие, указываем наш Jabber-клиент.

UP. Не забываем в DNS-зоне прописать (пример хоста mon.domain.tld, на котором Jabber-сервер):
  1. mon IN A 80.76.224.23
  2. xmpp-client._tcp 900 IN SRV 5 0 5222 mon.domain.tld.
  3. _xmpp-server._tcp 900 IN SRV 5 0 5269 mon.domain.tld.
  4. _jabber._tcp 900 IN SRV 5 0 5269 mon.domain.tld.
  5.  

2010/06/11

Измерение скорости на интерфейсе в Zabbix

Допустим, мы получаем с помощью SNMP кол-во байт, тогда в элементе данных Zabbix необходимо установить следующие значения:

- Единица измерения: bps
- Пользовательский множитель: 8
- Хранить значение: Дельта (скорость в секунду)

2010/06/07

Мониторинг Mikrotik с помощью Perl и Zabbix

Γεια σας, κύριοι συνάδελφοι!

Появилась задача следить за кучей Микротиков в Zabbix. Первым делом, скачал MIB с официального сайта Микротик, включил SNMP на тестовом устройстве и стал искать что мне интересно. К сожалению, многих интересных настроек найдено в SNMP не было, например, {rt}x-rate, {rt}-ccq и др. Зато в SNMP есть уровень signal-а :) Поэтому я набросал небольшой скрипт на Perl для получения данных о wlan-интерфейсах с Mikrotik.

http://github.com/dynax60/zabbix-scripts/blob/a149397e56b1b81d6515a6d3af04c757855ffea8/mktk.pl

На сервере Zabbix в /usr/local/etc/zabbix/zabbix_agentd.conf прописал (требуется перезапуск Zabbix-агента; если хотите посмотреть какие можно мониторить параметры, вызовите скрипт для начала без 3-го аргумента, т.е. mktk.sh IPaddress wlan-ifX):

UserParameter=mktk.frequency[*],mktk.sh $1 $2 frequency
UserParameter=mktk.tx-ccq[*],mktk.sh $1 $2 tx-ccq
UserParameter=mktk.rx-ccq[*],mktk.sh $1 $2 rx-ccq
UserParameter=mktk.signal[*],mktk.sh $1 $2 signal
UserParameter=mktk.noise-floor[*],mktk.sh $1 $2 noise-floor
UserParameter=mktk.rx-rate[*],mktk.sh $1 $2 rx-rate
UserParameter=mktk.tx-rate[*],mktk.sh $1 $2 tx-rate

Так как на Mikrotik-ах один аккаунт, был написан скрипт mktk.sh (владельцем файла должен быть пользователь zabbix и лучше всего права 700 на него, т.к. там учетная запись к устройствам):

  1. #!/bin/sh
  2. export MKTK_USER=myuser
  3. export MKTK_PASS=mypass
  4. /usr/home/null/scripts/mktk.pl $*
  5.  

Все, что теперь остаётся — в Zabbix в Элементу в параметре "Ключ" вставить, к примеру, mktk.frequency[10.1.0.3,wlan1]. Дальше построить график.

P.S. Впервые попробовал git :-) Интересная штуковина, ранее только cvs пользовался, даже subversion не попробовал (я — динозавр).

UP: Для получения OID-ов можно в консоли Mikrotik-а вызвать следующее:

/interface wireless print oid

— позволяет получить oid-ы к следующим параметрам: tx-rate,rx-rate,strength, ssid, bssid, frequency, band.

/interface wireless registration-table print oid

— позволяет получить oid-ы к следующим параметрам: strength, tx-bytes, rx-bytes, tx-packets, rx-packets, tx-rate, rx-rate.

Все!

Прикручиваем UPS N-Power MV-3000LT к Zabbix

Есть железяка N-Power MV-3000LT. Также есть CentOS 5.5, для которого я не нашел пакаджа Zabbix :) UPS подключен в HP Proliant DL380R06 к COM-порту. В качестве опроса устройства будем использовать программку NUT. Скачиваем последний nut (у меня nut-2.4.3) и собираем его.

$ ./configure --prefix=/usr/local
$ make
$ sudo make install
 

Конфигурационные файлы:

/usr/local/etc/ups.conf
  1. [myups]
  2. driver = megatec
  3. port = /dev/ttyS0
  4.  

/usr/local/etc/upsd.users
  1. [monuser]
  2. password = myups
  3. allowfrom = localhost
  4. upsmon master
  5.  

/usr/local/etc/upsd.conf — by default.

[root@bg etc]# /usr/local/bin/upsdrvctl -uroot start myups
Network UPS Tools - UPS driver controller 2.4.3
Network UPS Tools - Megatec protocol driver 1.6 (2.4.3)
Megatec protocol UPS detected [N-POWER 230V.ru 2.1].
[root@bg etc]# ../sbin/upsd -4 -u root
Network UPS Tools upsd 2.4.3
listening on 127.0.0.1 port 3493
Connected to UPS [myups]: megatec-myups
allowfrom in upsd.users is no longer used
[root@bg etc]# /usr/local/bin/upsc myups@localhost
battery.charge: 97.0
battery.voltage: 2.27
battery.voltage.nominal: 96.0
device.mfr: N-POWER 230V.ru
device.model: 2.1
device.serial: unknown
device.type: ups
driver.name: megatec
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyS0
driver.version: 2.4.3
driver.version.internal: 1.6
input.frequency: 49.9
input.frequency.nominal: 50.0
input.voltage: 213.9
input.voltage.fault: 213.9
input.voltage.maximum: 213.9
input.voltage.minimum: 211.1
input.voltage.nominal: 230.0
output.voltage: 230.4
ups.beeper.status: disabled
ups.delay.shutdown: 0
ups.delay.start: 2
ups.load: 31.0
ups.mfr: N-POWER 230V.ru
ups.model: 2.1
ups.serial: unknown
ups.status: OL
ups.temperature: 34.5
ups.type: online
[root@bg etc]#
 

Теперь собираем Zabbix-Agent (чтобы сервер опрашивая его, забирал нужные нам данные).

[null@bg zabbix-1.8.2]$ ./configure --prefix=/usr/local --enable-agent
[null@bg zabbix-1.8.2]$ make
[null@bg zabbix-1.8.2]$ sudo make install
[null@bg zabbix-1.8.2]$ sudo -s
[root@bg zabbix-1.8.2]# mkdir /etc/zabbix
[root@bg zabbix-1.8.2]# cp misc/conf/zabbix_agentd.conf /etc/zabbix
[root@bg zabbix-1.8.2]# groupadd zabbix
[root@bg zabbix-1.8.2]# useradd -g zabbix zabbix
[root@bg zabbix-1.8.2]# chown zabbix:zabbix /usr/local/sbin/zabbix_agent*
[root@bg zabbix-1.8.2]# cp misc/init.d/redhat/8.0/zabbix_agentd /etc/init.d/
[root@bg zabbix-1.8.2]# perl -pi -e 's{(/usr/local)/zabbix/bin/}{$1/sbin/}' /etc/init.d/zabbix_agentd
[root@bg zabbix-1.8.2]# chkconfig --add zabbix_agentd
[root@bg zabbix-1.8.2]# chkconfig --level 3 zabbix_agentd on
[root@bg zabbix-1.8.2]# chmod +x /etc/init.d/zabbix_agentd
 

Конфигурационный файл /etc/zabbix/zabbix_agentd.conf:

  1. #LogFile=/var/log/zabbix_agentd.log
  2. Server=192.168.0.7
  3.  
  4. UserParameter=battery.charge,upsc myups@localhost | awk -F': ' '{if (/battery.charge/) print $2}'
  5. UserParameter=battery.voltage,upsc myups@localhost | awk -F': ' '{if (/battery.voltage:/) print $2}'
  6. UserParameter=ups.load,upsc myups@localhost | awk -F': ' '{if (/ups.load/) print $2}'
  7. UserParameter=ups.temperature,upsc myups@localhost | awk -F': ' '{if (/ups.temperature/) print $2}'
  8. UserParameter=input.voltage,upsc myups@localhost | awk -F': ' '{if (/input.voltage:/) print $2}'
  9. UserParameter=output.voltage,upsc myups@localhost | awk -F': ' '{if (/output.voltage:/) print $2}'
  10.  

[root@bg zabbix]# service zabbix_agentd start
Starting zabbix_agentd: [ OK ]
[root@bg zabbix]#
 

Реальный адрес сервера изменён. На самом деле, он находится за натом, пришлось пробрасывать порт к агенту. Дальше всем известная процедура забора и отрисовки данных с агента. Результат в Zabbix-сервере:



TODO: сделать init-скрипты для NUT и запихнуть в загрузку.

2010/05/18

Отрицательные значения в Zabbix

Они возможны! Если собираемся собирать отрицательные значения в Zabbix, в элементе данных надо выбрать "Тип информации" — "Числовой (с плавающей точкой)".

Ярлыки

perl (30) infosec (26) links (21) freebsd (16) url (16) zabbix (14) ipv6 (13) linux (12) asterisk (10) mojo (10) monitoring (10) snmp (10) fun (8) openssl (7) security (7) bgbilling (6) cisco (6) mysql (6) ubuntu (6) blogs (5) dlink (5) kannel (5) windows (5) crypto (4) exploits (4) ipv4 (4) java (4) js (4) law (4) microsoft (4) mikrotik (4) mojolicious (4) openbsd (4) oracle (4) performance (4) postfix (4) radio (4) ssl (4) tools (4) utf-8 (4) vmware (4) android (3) apache (3) books (3) debug (3) dns (3) google (3) hp (3) json (3) latex (3) python (3) quotes (3) rhel (3) ripe ncc (3) syslog (3) ubnt (3) vim (3) vm (3) agi (2) ansible (2) atlassian (2) backup (2) bgp (2) bind (2) centos (2) console (2) cpan (2) cpanmin (2) css (2) ctf (2) docker (2) dwpd (2) edge-core (2) editors (2) elasticsearch (2) endurance (2) git (2) gns3 (2) graphite (2) hack (2) hdd (2) hyper-v (2) isp (2) mac (2) management (2) mibs (2) movie (2) msa (2) ntp (2) openvpn (2) pentest (2) puppet (2) qa tests (2) reverse engeenering (2) shell (2) smpp (2) social engineering (2) spf (2) ssd (2) statistic (2) storage (2) switches (2) tbw (2) tcp/ip (2) tex (2) usb (2) websec (2) wsl (2) xsrf (2) yandex (2) ПДн (2) электронное правительство (2) #snmp #cisco (1) ESNI (1) Xorg (1) amavis (1) amazon s3 (1) analyze (1) anonymous (1) applications (1) as (1) ascii (1) autofs (1) balancer (1) bandwidth (1) bem (1) bl (1) brendan gregg (1) cache (1) certificate (1) chef (1) chief (1) cluster (1) cnupm (1) cnupmsave (1) confluence (1) cpu (1) cvs (1) dbi (1) ddos (1) deploy (1) devices (1) dhcp (1) dht (1) diet (1) disk (1) diskarray (1) dummynet (1) dynax60 (1) efi (1) epub (1) equipment (1) esx (1) esxi (1) fax (1) firefox (1) firmware (1) fitness (1) form (1) fs (1) fsb (1) ftp (1) go (1) golf (1) gprs (1) graphics (1) gsm (1) honeypot (1) hpe (1) hpe ilo manager (1) html (1) img (1) iops (1) ios (1) ipn (1) ipsec (1) iptv (1) iso (1) itil (1) itsm (1) jabber (1) jira (1) joke (1) jsonp (1) kafka (1) kubernetes (1) law. simcards (1) lens (1) logstash (1) mem (1) memory (1) metasploit (1) microscope (1) mindmap (1) mobile (1) modem (1) mp3 (1) music (1) nano (1) nas (1) netbox (1) netdev (1) netmiko (1) noc (1) nvme (1) ocfs2 (1) ocs2 (1) openfire (1) oscm (1) ospf (1) otrs (1) packet filter (1) packet tracer (1) parsing (1) pass-the-hash (1) pf (1) pgu.mos.ru (1) phd (1) php (1) poe (1) ports (1) postfixadmin (1) ppp (1) presentation (1) profiler (1) protobuf (1) quickspecs (1) rabbitmq (1) radmin (1) raid (1) repo (1) rest (1) riemann (1) rkn (1) rrd (1) rs-232 (1) rss (1) rtp (1) ruby (1) runet (1) scanners (1) serialization (1) sip (1) skype (1) smb (1) sms (1) snmptranslate (1) soap (1) spam (1) spamcop (1) specs (1) sql (1) ssrf (1) standarts (1) strategy (1) sudoers (1) svn (1) syslog-ng (1) tde200 (1) tftp (1) tls (1) tomcat (1) tuning (1) uce (1) uefi (1) underground (1) ups (1) video (1) voip (1) vpn (1) wds (1) web (1) websockets (1) wifi (1) wireless (1) x-plane (1) xml (1) xss (1) zabbix snmp (1) верстка (1) гибдд (1) гипервизоры (1) здоровье (1) панчеры (1)