Blame
9f58ad | Mayekkuzu | 2024-12-11 17:32:36 | 1 | # Zabbix |
2 | ||||
9d1abb | Mayekkuzu | 2024-12-11 17:35:23 | 3 |  |
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 |  |
|||
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 |  |
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 |  |
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 | ``` |