2016-02-10 8 views

Odpowiedz

3

Zabbix jest napisany w PHP, C i jej bardziej klasyczny monitorowania ..

Prometheus napisano w Go, zaleca się jego Cloud, monitorowania SaaS/OpenStack ..

ale można użyć zarówno , Prometeusz jest szybszy, ponieważ baza danych zabbix ma mniejszą powierzchnię (ponieważ jest napisana w c). Zabbix można większość rzeczy w WebGUI .. w Prometeuszu trzeba edytować pliki jak Nagios ..

UPDATE: o to niemiecki artical o Prometeuszu: http://www.linux-magazin.de/Ausgaben/2016/03/Prometheus

+0

artykuł jest płatny –

6

Zabbix myśli w kategoriach maszyn, więc jesteś ograniczony do myślenia o rzeczach w tych kategoriach. Alerty mogą być uruchamiane w oparciu o prostą matematykę.

Prometheus nie ma tego ograniczenia, możesz myśleć w kategoriach usług lub centrów danych. Alerty mogą być wyzwalane dowolnym prawidłowym wyrażeniem, np. Średnie opóźnienie jest zbyt wysokie lub dyski zapełnią się w ciągu 4 godzin.

https://blog.raintank.io/evolving-from-machines-to-services/ wyjaśnia więcej różnic między monitorowaniem opartym na maszynach i usług.

+0

tak, ale zabbix może to również zrobić (w sposób nie elegancki) .. można monitorować serwisy internetowe itp., Można obliczyć średnie obciążenie na kilku maszynach itp. – colttt

25

Zarówno Zabbix, jak i Prometheus mogą być używane w różnych scenariuszach monitorowania, bez szczególnej specjalizacji w żadnej z nich. Zabbix jest starszy niż Prometheus i prawdopodobnie bardziej stabilny, z bardziej gotowymi do użycia rozwiązaniami.

Zabbix ma rdzeń napisany w C i webUI oparty na PHP, również używa "agentów" (client-side programs) napisanych w C. Prometheus jest napisany w języku Go.

Zabbix przechowuje dane w RDBMS (MySQL, PostgreSQL, Oracle, sqlite) według wyboru użytkownika. Prometheus korzysta z własnej bazy danych wbudowanej w proces backendu (jest to nierelacyjna baza danych specjalnie zaprojektowana do przechowywania danych monitorowania in a similar fashion do modelu danych).

Zabbix domyślnie używa modelu "pull", gdy serwer łączy się z agentami na każdej maszynie monitorującej, agenci okresowo zbierają informacje i wysyłają je na serwer. Alternatywą jest tryb "aktywnych kontroli", gdy agenci nawiązują połączenie z serwerem i przesyłają do niego dane w razie potrzeby. Prometheus preferuje model "pull", gdy serwer zbiera informacje z komputerów klienckich. Ale Prometheus Push Gateway może być stosowany w przypadkach, gdy wymagany jest model "wypychający".

Prometheus wymaga aplikacji do współpracy z biblioteką klienta Prometheus (dostępną w różnych językach programowania) do przygotowywania metryk. Jednak w celu monitorowania systemu lub oprogramowania, które nie mogą być instrumentowane, istnieje oficjalny "blackbox exporter", który umożliwia sondowanie punktów końcowych w zakresie różnych protokołów; Ponadto dostępna jest szeroka gama third party "exporters" oraz narzędzia ułatwiające ekspozycję danych dla Prometheus (podobne do "agents" for Zabbix). Jednym z takich narzędzi jest telegraf (https://github.com/influxdata/telegraf).

Zabbix używa własnego protokołu komunikacyjnego opartego na tcp między agentami a serwerem. Prometheus wykorzystuje protokół HTTP z buforami protokołów (format + dla łatwości użycia z zawijaniem).

Zabbix oferuje własny webUI do wizualizacji.Prometheus oferuje podstawowe narzędzie do eksploracji zgromadzonych danych i wizualizacji ich na prostych wykresach na swoim macierzystym serwerze, a także oferuje minimalną budowniczą deski rozdzielczej PromDash. Ale Prometheus jest i ma być wspierany przez nowoczesne narzędzia wizualizacyjne, takie jak Grafana.

Zabbix ma obsługę alertów w swoim rdzeniu. Prometheus oferuje rozwiązanie do ostrzegania, które jest oddzielone od jego głównej aplikacji Alertmanager.

Powiązane problemy