Blame

9f58ad Mayekkuzu 2024-12-11 17:32:36 1
# Zabbix
2
9d1abb Mayekkuzu 2024-12-11 17:35:23 3
![](/Self-Hosted/Zabbix/zabbix.jpg)
4
9f58ad Mayekkuzu 2024-12-11 17:32:36 5
Zabbix - система мониторинга всего, что способно ответить хоть какими то данными. Можно мониторить все, от количества установленных пакетов в системе, до температуры воздуха на кухне. Если, конечно, это чем-то мониторится. Ну и есть шаблончик соответствующий
6
7
Имеет набор достаточно разнообразных шаблонов для мониторинга Линукса, Винды, Сетевого оборудования, ИБП и прочих прикольных штук. Но если нужно сделать мониторинг чего-то специфического, то этот тот еще пердолинг. Но кто ищет тот всегда найдет. Или свой шаблон напишет. Ну или хуй положит и забьет.
325899 Mayekkuzu 2024-12-11 18:01:50 8
9
## Заводим Zabbix сервер на Proxmox с помощью импорта qcow2 файла
10
11
На странице https://www.zabbix.com/download_appliance выбираем нужную версию и копируем ссылку на qcow2 фаил. Этот фаил архивирован в tar.gz, поэтому скачиваем чего через wget и растариваем в папку
12
13
```bash
14
wget https://cdn.zabbix.com/zabbix/appliances/stable/X.X/X.X.X/zabbix_appliance-X.X.X-qcow2.tar.gz
15
tar -xvf zabbix_appliance-X.X.X-qcow2.tar.gz
16
cd zabbix_appliance-X.X.X-qcow2
17
```
18
19
Далее создаем произвольную виртуальную машину без жесткого диска. Достаточно пары гигабайт оперативной памяти и пары ядер. После создания виртуалки переходим по ssh на Proxmox и импортируем фаил виртуальной машины:
20
21
```bash
22
qm importdisk <VM_ID> zabbix_appliance-X.X.X.qcow2 <NAME_OF_PARTITION> --format qcow2
23
```
24
Где:
25
VM_ID - идентификатор виртуальной машины, обычно трехзначное число
26
NAME_OF_PARTITION - имя раздела на которую будем импортировать qcow2. Чаще всего это local-lvm
27
28
После импорта, диск будет привязан к виртуальной машине, но будет в состоянии Unused. Для подключения нужно выбрать диск в Hardware-опциях виртуалки и кликнуть Edit. Далее просто щекнуть по Add и диск будет добавлен
95f56b Mayekkuzu 2024-12-11 18:05:37 29
30
![](/Self-Hosted/Zabbix/unused-disk-1.jpg)![](/Self-Hosted/Zabbix/unused-disk-2.jpg)
593271 Mayekkuzu 2024-12-11 18:52:33 31
32
После запуска виртуалки скорее всего пригодится изменить настройки сети. Вносим правки в фаил `/etc/sysconfig/network-scripts/ifcfg-eth0` и приводим к такому виду
33
```
34
BOOTPROTO=none
35
IPADDR=IP_address
36
PREFIX=24
37
GATEWAY=IP_gateway
38
DNS1=IP_DNS_Server
39
DNS2=IP_DNS_Server
40
```
41
Рестартим вм или сетевую службу. Далее меняем пароль для пользователя root командой `passwd`
42
43
Для авторизации в веб-панели Zabbix используем логин `Admin` и пароль `zabbix`
44
45
## Настройка агента zabbix-agent на Linux VM
46
47
В зависимости от целевого дистрибутива, нужно установить пакет `zabbix-agent`. Я использую debian и ubuntu в качестве виртуалок, поэтому пишем:
48
```bash
49
sudo apt update
50
sudo apt install zabbix-agent
51
```
52
После установки правим `/etc/zabbix/zabbix_agent.conf` изменив два параметра
53
```
54
Server=IP_Zabbix_Server
55
ListenPort=10050
56
```
57
Перезапускаем сервис zabbix-agent
58
```bash
59
sudo systemctl restart zabbix-agent
60
```
61
В админ-панели переходим в `Data collection` -> `Hosts` -> `Create host` и заводим данные о сервере на котором установили zabbix-agent
6b0b7d Mayekkuzu 2024-12-11 19:11:48 62
![](/Self-Hosted/Zabbix/zabbix-new-host.jpg)
63
В течении минуты статус ZBX у хоста должен окрасится в зеленый. Если статус красный, проверьте перезапустили службу и открыт ли порт у целевой машины? Проверить порт можно командой `telnet IP-OR-FQDN 10050`
64
65
## Настройка агента zabbix-agent на Linux VM с шифрованием PSK
66
67
Возможно есть задача по мониторингу машины которая находится где-нибудь удаленно, к примеру - VPSка
68
69
Подключаемся по ssh к удаленной машине, ставим пакет `zabbix-agent`. Далее нужно сгенерируем ключ и дать ему права:
70
```bash
71
sudo openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk
72
sudo chmod 644 /etc/zabbix/zabbix_agentd.psk
73
```
74
Теперь приводим `/etc/zabbix/zabbix_agentd.conf` к такому виду
75
```
76
Server=IP_Adress_Zabbix_Server
77
ListenPort=10050
78
TLSConnect=psk
79
TLSAccept=psk
80
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
81
TLSPSKIdentity=PSK 001
82
```
83
Перезапускаем сервис zabbix-agent
84
```bash
85
sudo systemctl restart zabbix-agent
86
```
87
Содержимое файла ключа копируем в блокнот. Если необходимо - открываем порт 10050 на VDSке. В моем случае я использую UFW
88
```
89
sudo ufw allow 10050/tcp
90
```
91
На сервере заббикс добавляем хост по аналогии, но во вкладке Encryption добавляем ключ и ставим галочки как на скриншоте ниже
d1f7c8 Mayekkuzu 2024-12-11 19:13:07 92
![](/Self-Hosted/Zabbix/encription-psk-zabbix.jpg)
ff686f Mayekkuzu 2025-04-21 16:45:11 93
## Расширение раздела /dev/sda5 с /var/lib/mysql
94
95
Если инсталяция была путем раскатки готового образа с appliance, то рано или поздно можете столкнуться с тем что место на разделе с бд может закончится
96
97
Сначала добавляем +5GB или сколько вам необходимо накинуть
98
99
Сперва стопим службу mysql, далее на примере с пояснениями
100
101
```bash
102
[root@appliance ~]# fdisk /dev/sda # Запускаем fdisk
103
104
Welcome to fdisk (util-linux 2.32.1).
105
Changes will remain in memory only, until you decide to write them.
106
Be careful before using the write command.
107
108
109
Command (m for help): p # Выводим список разделов
110
Disk /dev/sda: 15 GiB, 16106127360 bytes, 31457280 sectors
111
Units: sectors of 1 * 512 = 512 bytes
112
Sector size (logical/physical): 512 bytes / 512 bytes
113
I/O size (minimum/optimal): 512 bytes / 512 bytes
114
Disklabel type: dos
115
Disk identifier: 0x0e3fcdb2
116
117
Device Boot Start End Sectors Size Id Type
118
/dev/sda1 * 2048 1050623 1048576 512M 83 Linux
119
/dev/sda2 1050624 9439231 8388608 4G 83 Linux
120
/dev/sda3 9439232 11536383 2097152 1G 83 Linux
121
/dev/sda4 11536384 20971519 9435136 4.5G 5 Extended
122
/dev/sda5 11538432 20971519 9433088 4.5G 83 Linux
123
124
Command (m for help): d # Удаляем раздел
125
Partition number (1-5, default 5): 5 # Пятый который с бд
126
127
Partition 5 has been deleted.
128
129
Command (m for help): d # Удаляем раздел
130
Partition number (1-4, default 4): 4 # Четвертый (он Extended)
131
132
Partition 4 has been deleted.
133
134
Command (m for help): n # Создаем новый раздел
135
Partition type
136
p primary (3 primary, 0 extended, 1 free)
137
e extended (container for logical partitions)
138
Select (default e): # тыкаем Enter или E
139
140
Using default response e.
141
Selected partition 4
142
First sector (11536384-31457279, default 11536384): 11536384 # Смотрим стартовый сектор в /dev/sda4
143
Last sector, +sectors or +size{K,M,G,T,P} (11536384-31457279, default 31457279): # Тыкаем Enter
144
145
Created a new partition 4 of type 'Extended' and of size 9.5 GiB.
146
147
Command (m for help): n # Создаем новый ЛОГИЧЕСКИЙ раздел
148
All primary partitions are in use.
149
Adding logical partition 5
150
First sector (11538432-31457279, default 11538432): 11538432 # Смотрим стартовый сектор в /dev/sda5
151
Last sector, +sectors or +size{K,M,G,T,P} (11538432-31457279, default 31457279): # Тыкаем Enter
152
153
Created a new partition 5 of type 'Linux' and of size 9.5 GiB.
154
Partition #5 contains a xfs signature.
155
156
Do you want to remove the signature? [Y]es/[N]o: N # Обязательно тыкаем N потому что можем развалить раздел
157
158
Command (m for help): w # Записываем изменения
159
160
The partition table has been altered.
161
Failed to update system information about partition 4: Device or resource busy
162
163
The kernel still uses the old partitions. The new table will be used at the next reboot.
164
Syncing disks.
165
166
[root@appliance ~]# reboot
167
```
168
После рестарта снова подключаемся к машине и расширяем раздел
169
170
```
171
[root@appliance ~]# sudo xfs_growfs /var/lib/mysql
172
meta-data=/dev/sda5 isize=512 agcount=4, agsize=294784 blks
173
= sectsz=512 attr=2, projid32bit=1
174
= crc=1 finobt=1, sparse=1, rmapbt=0
175
= reflink=1 bigtime=0 inobtcount=0
176
data = bsize=4096 blocks=1179136, imaxpct=25
177
= sunit=0 swidth=0 blks
178
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
179
log =internal log bsize=4096 blocks=2560, version=2
180
= sectsz=512 sunit=0 blks, lazy-count=1
181
realtime =none extsz=4096 blocks=0, rtextents=0
182
data blocks changed from 1179136 to 2489856
183
```
184
Проверяем разделы
185
```
186
[root@appliance ~]# lsblk
187
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
188
sda 8:0 0 15G 0 disk
189
├─sda1 8:1 0 512M 0 part /boot
190
├─sda2 8:2 0 4G 0 part /
191
├─sda3 8:3 0 1G 0 part /tmp
192
├─sda4 8:4 0 1K 0 part
193
└─sda5 8:5 0 9.5G 0 part /var/lib/mysql
194
```