GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04にGraphiteとGraphiteWebをインストールする方法

Graphiteは、数値の時系列データとそのグラフをリアルタイムで保存するための無料のオープンソース監視ツールです。

Graphiteはそれ自体ではデータを収集せず、代わりに他のツールからデータを受け取ります。 Graphiteはデータを受信するとすぐに、Webアプリでグラフを作成できます。

このチュートリアルでは、Graphiteをインストールする方法を学びます。 およびGraphiteWeb Ubuntu20.04でdockerを使用 。 Graphiteインスタンスを実行する最も簡単な方法は、dockerを使用することです。

Graphiteはどのように機能しますか?

Graphiteアーキテクチャの概要は、3つのソフトウェアコンポーネントで構成されていることを示しています。

  • カーボン :データ収集のために時系列データを受動的にリッスンするツイストデーモン。
  • ささやき :時系列データを保存するためのシンプルなデータベースライブラリ
  • グラファイトWebアプリ :Cairoを使用してオンデマンドでグラフィックをレンダリングするDjangoWebApp。

アプリケーションは、データをGraphiteの処理バックエンドであるCarbonに送信します。Carbonは、データをGraphiteのデータベースWhisperに格納します。次に、GraphiteWebインターフェイスであるGraphiteWebAppを介してデータを表示できます。

ステップ1:UbuntuにDockerをインストールする

まず、UbuntuにDockerをインストールします。 Dockerを使用すると、Grapgitueを数秒で実行できます。

Dockerをインストールするには、いくつかの前提条件をインストールする必要があります:

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common

それでは、DockerリポジトリのGPキーを追加しましょう:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

次に、DockerをAPTソースに追加します。キャッシュが自動的に更新されます。

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

次に、次のコマンドを使用してdockerをインストールします。

$ sudo apt install docker-ce

ユーザーをdockerグループに追加して、sudo権限なしでdockerコマンドを使用できるようにします。

$ sudo usermod -aG docker username

次に、終了して再度ログインし、アクションを有効にします

ステップ2:Dockerでグラファイトを実行する

Dockerを使用してグラファイトを実行するのは非常に高速です。今回は、以前に見たデフォルト以外のコンポーネントが必要になります:

  • Nginx :グラファイトダッシュボードのリバースプロキシ
  • グラファイト :フロントエンドダッシュボード
  • カーボン :バックエンド
  • Statsd :UDPベースのバックエンドプロキシ

また、graphiteが必要とするさまざまなポートが利用可能かどうかを確認する必要があります。また、プロセス中に、ホストとコンテナの間でポートマッピングが実行されるため、実際の構成に合わない場合は、側でマッピング構成を変更できます。グラファイトの公式Githubリポジトリに関する詳細情報を入手できます。

ホスト コンテナ サービス
80 80 nginx
2003 2003 カーボンレシーバー-プレーンテキスト
2004 2004 カーボンレシーバー-ピクルス
2023 2023 カーボンアグリゲーター-プレーンテキスト
2024 2024 カーボンアグリゲーター-ピクルス
8080 8080 Graphite内部gunicornポート(Nginxプロキシなし)。
8125 8125 statsd
8126 8126 statsd admin

nginxdockerを実行する

この例では、Nginxリバースプロキシとして独立したコンテナを実行します。

$ docker run -d --name nginx -p 80:80 -p 443:443 -v /etc/nginx/htpasswd:/etc/nginx/htpasswd -v /etc/nginx/vhost.d:/etc/nginx/vhost.d:ro -v /etc/nginx/certs:/etc/nginx/certs -v /var/run/docker.sock:/tmp/docker.sock:ro etopian/nginx-proxy

証明書を統合するときに、すべてのデフォルトのHTTPトラフィックをHTTPSにリダイレクトするのに役立ちます。 /etc/nginx/certsである証明書を統合するためにマップされたボリュームに注意する必要があります

次に、ファイアウォールのポート80と443を開きます。

$ sudo ufw allow 80,443/tcp

ステップ3:Graphite-SSL証明書をnginxに統合します

すでにSSL証明書をお持ちであると考えております。 Nginxでこの場合に構成されたマップされたボリュームにコピーする必要があります。キーと証明書に以下の名前を付けます:

  • domain.com.crt
  • domain.com.key

そして、マップされたボリューム内の2つのファイルをコピーします。証明書をコピーする

$ cp websitefortesting.com.crt /etc/nginx/certs

キーをコピーする

$ cp websitefortesting.com.key /etc/nginx/certs

グラファイトを実行

グラファイトを実行するには、いくつかのオプションを指定してdockerrunコマンドも使用します。この例では、サービスのドメイン名をパラメータ-e VIRTUAL_HOST=domain.comで示します。 起動中

$ docker run -d\
  --name graphite\
  --restart=always\
  -e VIRTUAL_HOST=websitefortesting.com\
  -p 2003-2004:2003-2004\
  -p 2023-2024:2023-2024\
  -p 8125:8125/udp\
  -p 8126:8126\
  graphiteapp/graphite-statsd

ご覧のとおり、Nginxのポート80はすでに実行されているため、マップする必要はありません。次に、URL https://domain.comでgraphiteにアクセスしてみてください

statsdを確認できます。

Graphiteのデフォルトのログインユーザー名はrootで、rootパスワードでログインします。

https://domain.com/admin/password_change/ を使用して、ルートプロファイルのデフォルトのパスワードを変更し、より安全にする必要があります。

新しいパスワードでアクセスできます。

結論

このチュートリアルでは、dockerを使用してUbuntu20.04でgraphiteを実行する方法を学びました。数値の時系列データを簡単に監視およびグラフ化できるようになりました。


Ubuntu
  1. Ubuntu 18.04 / Ubuntu 18.10 /Ubuntu19.04にDockerをインストールする方法

  2. Ubuntu20.04にDockerをインストールして使用する方法

  3. Ubuntu 18.04にDockerをインストールする方法は?

  1. Ubuntu18.04にDockerをインストールする方法

  2. Ubuntu18.04または20.04にPHP7.4および8.0をインストールする方法

  3. Ubuntu18.04にKubernetesをインストールする方法

  1. Ubuntu18.04にDockerComposeをインストールする方法

  2. Ubuntu18.04および20.04にAnacondaをインストールする方法

  3. Ubuntu20.04にDockerをインストールして使用する方法