Zabbix linux мониторинг свободного места

Monitor Disk IO Stats with Zabbix

I wanted to get a feel how much IO my machines are doing each day. As I was going through the zabbix graphs I noticed that IO statistics are not included. I did some research and I came across these forums:

Both use the same technique of querying the /proc/diskstats file and plotting that information. So let’s start setting that up.

Create UserParameters in Zabbix to Query /proc/diskstats

Both of the above links used the following UserParameters:

UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '' 

Add those to your /etc/zabbix/zabbix_agentd.conf file. Here is how my file looked like:

kerch:~>tail /etc/zabbix/zabbix_agentd.conf UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '' UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '' 

Then go ahead and restart the zabbix-agent service:

kerch:~>sudo service zabbix-agent restart zabbix-agent stop/waiting zabbix-agent start/running, process 26720 

At this point you can query disk information. To make sure all of them work fine run the following:

kerch:~$ for i in $(grep '^UserParameter' /etc/zabbix/zabbix_agentd.conf | cut -d = -f 2 | cut -d [ -f 1); do echo $i; zabbix_get -s 192.168.1.100 -p 10050 -k "$i[sda]"; done custom.vfs.dev.read.ops 93292 custom.vfs.dev.read.ms 1214540 custom.vfs.dev.write.ops 3328812 custom.vfs.dev.write.ms 480210476 custom.vfs.dev.io.active 2 custom.vfs.dev.io.ms 42178164 custom.vfs.dev.read.sectors 2968840 custom.vfs.dev.write.sectors 161623584 

All of that looks good. At this point the above links just create a graph for each disk separately and plot the above data. I had different types and number of disks on each machine, so I didn’t want to create a graph per device.

Читайте также:  Копия mac os linux

Zabbix AutoDiscovery

Zabbix has call feature called Discovery, where it can discover devices for you. I ran into this forum:

It had examples of how to discover services, process and lastly hard disks (which is what I was looking for). The above forum had a Perl script that output VM Name and it’s corresponding disks. I edited the file so it just showed disks. I put the script under /usr/local/bin and I made sure zabbix could execute the script:

kerch:~>ls -l /usr/local/bin/discover_disk.pl -rwxr-x--- 1 elatov zabbix 498 Jun 2 15:57 /usr/local/bin/discover_disk.pl 

After all of that was done, here is how the output looked like:

kerch:~>/usr/local/bin/discover_disk.pl < "data":[ , < "":"loop1", > , < "":"sda", > , < "":"sda1", > , < "":"sda2", > , < "":"sda3", > , < "":"sda4", > , < "":"sr0", > ] > 

It spit out the partitions as well, I left it that way in case I might use them later.

Create a Regular Expression in Zabbix

I didn’t want disk statistics per partition but per disk, so let’s add a rule to just catch the disk without the partitions. Login to zabbix and then go to “Administration” -> General -> “Regular Expression”:

zabbiz reg expression g Monitor Disk IO Stats with Zabbix

Then click “Create New Regular Expression” and under “Expressions”, click “New” and add the following:

zabbiz reg expression create Monitor Disk IO Stats with Zabbix

Save that and on the left side, name the Regular Expression and do a test to make sure it works:

zabbiz reg expression test Monitor Disk IO Stats with Zabbix

and also put in a partition to make sure it fails:

zabbiz reg expression test fail Monitor Disk IO Stats with Zabbix

Save that and if you go back to the regular expression list you will see yours there:

zabbiz reg expression list Monitor Disk IO Stats with Zabbix

Create a New Template in Zabbix

Let’s create a new template for our items and graphs. Go to “Configuration” -> “Template” -> “Create Template”. Fill out the information and add your hosts to the template:

zabbix create template Monitor Disk IO Stats with Zabbix

Create a new UserParameter for Disk Discovery

Add the following into /etc/zabbix/zabbix_agentd.conf:

kerch:~>tail -1 /etc/zabbix/zabbix_agentd.conf UserParameter=custom.disks.discovery_perl,/usr/local/bin/discover_disk.pl 

Restart the agent one more time:

kerch:~>sudo service zabbix-agent restart zabbix-agent stop/waiting zabbix-agent start/running, process 29357 

Lastly make sure, we get the our disks from this User parameter:

kerch:~>zabbix_get -s 192.168.1.100 -k custom.disks.discovery_perl < "data":[ , < "":"ram0", > , < "":"ram1", 

The list kept going, but we now know that works.

Create a Zabbix Discovery Rule

Go to “Configuration” -> “Templates”:

zabbix templates Monitor Disk IO Stats with Zabbix

Scroll down and you will see the template that you created earlier. Click on “Discovery” -> “Create Discovery Rule”. Here we will name the rule, query the UserParameter we created, and apply a filter (regular expression) to get just the disk. Here is how my configuration looked like:

zabbix discovery rule Monitor Disk IO Stats with Zabbix

Save that and if you go back to the discovery rules you will see the following:

zabbix discovery rule list Monitor Disk IO Stats with Zabbix

Add Item Prototypes to Discovery Rule

Go to “Configuration” -> “Templates” -> Template_Linux_Disk -> “Discovery” -> “Item Prototypes” -> “Create Item Prototype”. Fill out the information. Here is my latency item:

Читайте также:  Переменная shell в linux

zab item prototype later Monitor Disk IO Stats with Zabbix

I added both read and write latency. Here is my Disk Rate in Bps:

zab item prototype after dr Monitor Disk IO Stats with Zabbix

I added both read and write disk rates. I also added disk operations (read and write). I ended up defining 6 items in total, here is the list:

zabbix itemprototypes list Monitor Disk IO Stats with Zabbix

Create Graph Prototypes to Plot the Above Items

Go to “Configuration” -> “Templates” -> Template_Linux_Disk -> “Discovery” -> “Graph Prototypes” -> “Create Graph Prototype”. Add both read and write like so:

zabbix graphprototypes latency Monitor Disk IO Stats with Zabbix

Using the same technique I created 3 graph prototypes:

zabbix graphprototypes list Monitor Disk IO Stats with Zabbix

Check out the Graphs

Go to “Monitoring” -> “Graphs”. Then pick a host and make sure only it’s corresponding disks show. For example here is what I saw for my Fedora Box which had an LVM setup:

zabbix graph lists fedora g Monitor Disk IO Stats with Zabbix

zabbix disk rate fedora Monitor Disk IO Stats with Zabbix

And here are the available graphs for my Ubuntu which just had one drive in it:

zabbix graph lists ub g Monitor Disk IO Stats with Zabbix

and here is latency for the disk:

zabbix disk latency ubuntu Monitor Disk IO Stats with Zabbix

Everything looked perfect.

Источник

backnet — ответы на простые вопросы и не очень

По сути ничего сложного нет, но поиск по интернету ничего хорошего не нашел (может быть я плохо искал), и так, как это сделал я?! Как добавлять триггеры и шаблоны можно посмотреть в постах ранее, по этому сразу к делу. Мне нужно было мониторить 5 дисков (кол-во не важно, но для наглядности). 1. Создаем шаблон (к примеру Windows Disk) 2. Создаем группу данных (к примеру DiskSize) 3. Далее создаем элемент данных, вот тут то самая и суть (вот так должен выглядеть "элемент данных") check-disk - первое это ключ (vfs.fs.size[C:,free]) по которую забикс будет проверять место на диске. C: - это имя диска, free - это свободное место (по умолчанию забикс это будет отдавать в килобайтах), это не удобно, по этому делаем пользовательский множитель 0.000000000931322574615478515625 - почему именно такой? (на сколько я понял, раз множитель, значит надо умножить и кроме как число в строчку вставить нельзя, а чтобы из КБ перевести в ГБ, надо несколько раз разделить на 1024 или умножить на вот это самое число). В итоге получаем элемент данных в ГБ (что намного удобнее). Далее делаем триггер который будет срабатывать когда на диске остается меньше 20 ГБ. Сам триггер выглядит вот так (см.ниже). trigger-disk-size В нем добавляем выражение "

Источник

Мониторинг дискового пространства активным Zabbix-агентом

Записки МихаНика

Для того, чтобы при помощи активного агента Zabbix следить за дисковым пространством компьютера, как оказалось, не нужно писать скриптов. Совсем. 🙂 Все уже умеет делать активный Zabbix-агент «из коробки». Достаточно создать шаблон и назначить его компьютеру. Всё.

Дано.

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

Читайте также:  Нет выбора загрузки ос linux

Решение.

При помощи активного агента Zabbix будем собирать 4 параметра диска «C:»:

  • общий размер диска
  • размер занятого места
  • размер свободного места
  • процент свободного места.

На основании этих параметров создадим 4 триггера:

  • Предупреждение. Свободно менее 20%
  • Средняя важность. Свободно менее 10%
  • Высокая важность. Свободно менее 1 Гб.
  • Чрезвычайная важность. Свободно менее 100 Мб.

Создаём шаблон.

Имя шаблона: Active Computer — SystemDrive
Группа данных: Filesystems
Элементы данных:

  • SystemDriveSizeFree — vfs.fs.size[«c:»,free]
  • SystemDriveSizePFree — vfs.fs.size[«c:»,pfree]
  • SystemDriveSizeTotal — vfs.fs.size[«c:»,total]
  • SystemDriveSizeUsed — vfs.fs.size[«c:»,used]

Теперь то же самое, но в картинках.

Назначаем шаблон компьютеру

И начинаем получать данные… 🙂

Аренда серверов.

Надёжные сервера с Pro-бегом
У ВАС В ОФИСЕ
!

1С:Предприятие «в облаке».

Безопасный доступ к своей 1С из офиса, командировки и т.п.!

IP-телефония в офис.

IP-телефония давно перестала быть роскошью в офисах.
Хотите себе в офис цифровую АТС - обращайтесь.
!

Источник

How to Use Zabbix to Monitor Linux Disk Space

How to Use Zabbix to Monitor Linux Disk Space

This article omits the installation of zabbix server and client. For the zabbix server and client installation, you can check my previous article. Here, the centos system is used as an example to monitor the disk usage. The zabbix version is 3.2. For other versions, please test it yourself.

Currently, the zabbix server and client can communicate normally. To monitor the disk usage, you only need to configure it on the zabbix server.

Configuration – Template – Create Template – Set Template Name

How to Use Zabbix to Monitor Linux Disk Space

The vfs.fs.size[fs,] key value is required to monitor disk usage.

Fs: file system
Mode: mode
Total default all, free idle, used, pfree free percentage, used percentage

3, create a monitoring item

Just set a name and key value, and the rest are default.

The name I set here is disk-space-total

Key value vfs.fs.size[/data,total], my disk is mounted under /data, modify it according to the situation

PS: My data update interval is 30 seconds. In the actual production environment, the data update time can be set longer, depending on individual circumstances.

Next continue to create free, used, create methods and total the same as total

1 2 名称disk – space – free 键值vfs . fs . size [ / data , free ] 名称disk – space – used 键值vfs . fs . size [ / data , used ]

Add pfree, pused, note that these two information types need to choose floating point number, unit %

1 2 名称disk – space – pfree 键值vfs . fs . size [ / data , pfree ] 名称disk – space – pused 键值vfs . fs . size [ / data , pused ]

The template has been added, and finally it will be linked to the host.

Источник

Оцените статью
Adblock
detector