Zabbix

Материал из First-Leon
Перейти к навигации Перейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

Установка zabbix agent в linux

Установка mariadb

Установка PHP

5.0

wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1%2Bbionic_all.deb
dpkg -i zabbix-release_5.0-1+bionic_all.deb
apt update
wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+buster_all.deb
dpkg -i zabbix-release_5.0-1+buster_all.deb
apt update

4.4

Zabbix 4.4 for Ubuntu 18.04:

wget https://repo.zabbix.com/zabbix/4.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.4-1+bionic_all.deb
dpkg -i zabbix-release_4.4-1+bionic_all.deb
apt update
apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent

Zabbix 4.4 for Debian 10:

wget https://repo.zabbix.com/zabbix/4.4/debian/pool/main/z/zabbix-release/zabbix-release_4.4-1+buster_all.deb
dpkg -i zabbix-release_4.4-1+buster_all.deb
apt update
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> quit;
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
/etc/zabbix/zabbix_server.conf
DBPassword=password
mcedit /etc/zabbix/nginx.conf
listen 80;
server_name example.com;
mcedit  /etc/zabbix/php-fpm.conf
php_value[date.timezone] = Europe/Riga
ln -s /etc/zabbix/nginx.conf /etc/nginx/sites-available/
ln -s /etc/nginx/sites-available/nginx.conf /etc/nginx/sites-enabled/
rm /etc/nginx/sites-enabled/default


systemctl restart zabbix-server zabbix-agent nginx php7.2-fpm
systemctl enable zabbix-server zabbix-agent nginx php7.2-fpm

4.2

Zabbix 4.2 for Ubuntu 18.04:

wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+bionic_all.deb
dpkg -i zabbix-release_4.2-1+bionic_all.deb
apt-get update

Zabbix 4.2 for Debian 9:

wget https://repo.zabbix.com/zabbix/4.2/debian/pool/main/z/zabbix-release/zabbix-release_4.2-1%2Bstretch_all.deb
dpkg -i zabbix-release_4.2-1+​stretch_all.deb
apt update
innodb_log_file_size = 512M
innodb_strict_mode = 0
mysql -uroot -p<password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
mysql> quit;
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
mcedit /etc/zabbix/zabbix_server.conf

Настройка мониторинга дисковой подсистемы

sudo mkdir -p /etc/zabbix/zabbix_agentd.d/
sudo wget https://raw.githubusercontent.com/grundic/zabbix-disk-performance/master/userparameter_diskstats.conf -O /etc/zabbix/zabbix_agentd.d/userparameter_diskstats.conf
sudo mkdir -p /usr/local/bin
sudo wget https://raw.githubusercontent.com/grundic/zabbix-disk-performance/master/lld-disks.py -O /usr/local/bin/lld-disks.py
sudo chmod +x /usr/local/bin/lld-disks.py

После этого импортируем шаблон:

3.0
Файл:Template Disk Performance ND.xml
3.2
Файл:Template Disk Performance ND 32.xml
4
Файл:Template Disk Performance ND 4.xml

View result of low level discovery

zabbix_get -s 127.0.0.1 -k "custom.vfs.discover_disks"

View statistics for 'sda' disk

zabbix_get -s 127.0.0.1 -k "custom.vfs.dev.write.sectors[sda]"

Особенности мониторинга памяти

Элемент данных vm.memory.size[available] на Linux теперь читает MemAvailable (родная оценка системы) из /proc/meminfo на Linux ядрах 3.14 и выше.
В зависимости от состояния системы (наподобие количества распределения slab) новое значение может значительно отличаться от старой версии и, таким
образом, может вызвать триггеры изменить свои значения. До Zabbix 3.0 значением всегда была сумма свободной, буферизованной и кэшируемой памяти.

Мониторинг Docker и LXC

Лимит памяти:

/sys/fs/cgroup/memory/lxc/105/memory.limit_in_bytes

Потребление памяти:

/sys/fs/cgroup/memory/lxc/105/memory.usage_in_bytes

Zabbix модуль и шаблон

Памяти и CPU zabbix агентом в LXC

ct.memory.size
ct.swap.size
ct.swap.size
ct.cpu.load
ct.cpu.load
ct.cpu.load
mcedit /etc/zabbix/zabbix_agentd.d/userparameter.conf
UserParameter=ct.memory.size[*],free -b | awk '$ 1 == "Mem:" {total=$ 2; used=($ 3+$ 5); pused=(($ 3+$ 5)*100/$ 2); free=$ 4; pfree=($ 4*100/$ 2); shared=$ 5; buffers=$ 6; cache=$ 6; available=($ 6+$ 7); 
pavailable=(($ 6+$ 7)*100/$ 2); if("$1" == "") {printf("%.0f", total )} else {printf("%.0f", $1 "" )} }'
UserParameter=ct.swap.size[*],free -b | awk '$ 1 == "Swap:" {total=$ 2; used=$ 3; free=$ 4; pfree=($ 4*100/$ 2); pused=($ 3*100/$ 2); if("$1" == "") {printf("%.0f", free )} else {printf("%.0f", $1 "" )} }'
UserParameter=ct.cpu.load[*],uptime | awk -F'[, ]+' '{avg1=$(NF-2); avg5=$(NF-1); avg15=$(NF)}{print $2/'$(nproc)'}'

Мониторинг UPS

В zabbix_agentd.conf добавляем:

UserParameter=ups.status,upsc myups@localhost | grep ups.status | awk '{print $2}'
UserParameter=battery.charge,upsc myups@localhost | grep battery.charge | awk '{print $2}'
UserParameter=ups.load,upsc myups@localhost | grep ups.load | awk '{print $2}'
UserParameter=ups.temperature,upsc myups@localhost | grep ups.temperature | awk '{print $2}'

после настройки соответствующих итемов и триггеров имеем сигнализацию об отключении питания и графики заряда батареи, нагрузки на ИБП и температуры.

Ручная отправка данных

zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -s hostname -k itemname -o value

Отправка данных из файла:

zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -T -i data.txt

Формат файла data.txt:

hostname itemname timestamp value

Ссылки