Zabbix
Перейти к навигации
Перейти к поиску
Установка zabbix agent в linux
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
Памяти и 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
Ссылки
- Установка Windows агента
- Собранные пакеты
- Установка в Ubuntu/Debian
- Oracle
- Apache
- Nginx
- SMART
- Asterisk
- UPS
- MSSQL
- apache (Шаблон)
- Zabbix-мониторинг данных в БД Oracle без unixODBC
- Мониторинг дисковой системы. Оригинальные скрипты тут вроде немного допилено
- PostgreSQL libzbxpgsql
- Мониторинг памяти в LCX контейнере
- Мониторинг баз данных Oracle
- Мониторинг Web серверов Apache
- Мониторинг Web серверов Nginx
- Мониторинг контейнеров
- Исправления для мониторинга контейнеров
- Настройка оповещений через telegram
- Slack
- Мониторинг Postgresql