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) |