34

PrometheusZabbixの違いは何ですか?

4

3 に答える 3

79

Zabbix と Prometheus はどちらも、さまざまな監視シナリオで使用できますが、どちらにも特別な専門性はありません。Zabbix は Prometheus よりも古く、おそらくより安定しており、すぐに使用できるソリューションが用意されています。

Zabbix には、C で記述されたコアと PHP ベースの Web UI があります。また、C で記述された「エージェント」 (クライアント側プログラム) も使用します。Prometheus は Go 言語で記述されています。

Zabbixは、ユーザーが選択したRDBMS (MySQL、PostgreSQL、Oracle、またはSQLite ) にデータを保存します。Prometheus は、バックエンド プロセスに埋め込まれた独自のデータベースを使用します (これは、OpenTSDBのデータ モデルと同様の方法で監視データを格納するために特別に設計された非リレーショナル データベースです)。

Zabbix はデフォルトで、サーバーが各監視マシンのエージェントに接続するときに「プル」モデルを使用し、エージェントは定期的に情報を収集してサーバーに送信します。代替手段は、エージェントがサーバーとの接続を確立し、必要なときにデータを送信するときの「アクティブ チェック」モードです。

サーバーがクライアント マシンから情報を収集する場合、Prometheus は「プル」モデルを優先します。ただし、「プッシュ」モデルが必要な場合は、Prometheus Push Gatewayを使用できます。

Prometheus では、メトリクスを準備するために、アプリケーションが Prometheus クライアント ライブラリ (さまざまなプログラミング言語で利用可能) で計測される必要があります。ただし、計測できないシステムまたはソフトウェアを監視するために、さまざまなプロトコルでエンドポイントをプローブできる公式の「ブラックボックス エクスポーター」があります。さらに、幅広いサードパーティの「エクスポーター」とツールを使用して、Prometheus のメトリックを公開することができます ( Zabbix の「エージェント」に似ています)。そのようなツールの 1 つがTelegrafです。

Zabbix は、エージェントとサーバー間で独自のTCPベースの通信プロトコルを使用します。

Prometheus は HTTP とProtocol Buffers (+ curl で使いやすいようにテキスト形式) を使用します。

Zabbix は、視覚化のための独自の Web UI を提供します。Prometheus は、収集したデータを探索し、ネイティブ サーバー上で単純なグラフで視覚化するための基本的なツールを提供し、最小限のダッシュボード ビルダーも提供します。しかし、Prometheus は、Grafanaなどの最新の視覚化ツールでサポートされるように設計されています。

Zabbix は、コアでアラートをサポートしています。Prometheus は、そのコアからAlertmanagerアプリケーションに分離されたアラートのソリューションを提供します。

于 2016-04-07T13:26:15.463 に答える
13

Zabbix は C と PHP で書かれています。より古典的な監視です。

Prometheus は Go で記述されており、クラウド、SaaS / OpenStackの監視に推奨されます。

しかし、両方を使用できます。Prometheus はデータベースがあるため高速であり、Zabbix は (C で記述されているため) フットプリントが小さくなっています。Zabbix ではほとんどのことを Web GUI で行うことができますが、Prometheus ではNagiosのようにファイルを編集する必要があります。

Prometheus に関するドイツ語の記事は次のとおりです。Prometheus für das Cloud- und Enterprise-Monitoring

于 2016-02-10T13:22:04.880 に答える