6 Kodowanie zwracanych wartości

Serwer Zabbix oczekuje, że każda zwracana wartość tekstowa będzie kodowana w UTF8. Dotyczy to wszystkich rodzajów sprawdzeń: agenta Zabbix, ssh, telnet itp.

Różne monitorowane systemy/urządzenia i sprawdzenia mogą zwracać znaki nie-ASCII w wartości. Dla takich przypadków prawie wszystkie możliwe klucze Zabbix zawierają dodatkowy parametr klucza pozycji - <encoding>. Ten parametr klucza jest opcjonalny, ale powinien być określony, jeśli zwracana wartość nie jest w kodowaniu UTF8 i zawiera znaki nie-ASCII. W przeciwnym razie wynik może być nieoczekiwany i nieprzewidywalny.

Poniżej przedstawiono opis zachowania w różnych systemach baz danych w takich przypadkach.

MySQL

Jeśli wartość zawiera znak nie-ASCII w kodowaniu innym niż UTF8 - ten znak i następne zostaną odrzucone, gdy baza danych przechowuje tę wartość. Nie zostaną zapisane żadne komunikaty typu ostrzeżenie w zabbix_server.log.
Dotyczy co najmniej wersji MySQL 5.1.61

PostgreSQL

Jeśli wartość zawiera znak nie-ASCII w kodowaniu innym niż UTF8 - spowoduje to nieudane zapytanie SQL (PGRES_FATAL_ERROR:ERROR invalid byte sequence for encoding) i dane nie zostaną przechowywane. Odpowiedni komunikat typu ostrzeżenie zostanie zapisany w zabbix_server.log.
Dotyczy co najmniej wersji PostgreSQL 9.1.3