如何在 Ubuntu 20.04 上安裝 Graphite 和 Graphite Web

Graphite 是一種免費的開源監控工具,用於實時存儲數字時間序列數據及其圖形。

Graphite 本身不會收集數據,而是從其他工具接收數據。 一旦 Graphite 接收到數據,它就可以在 webapp 中創建圖形。

在本教程中,我們將學習如何 安裝石墨石墨網 在 Ubuntu 20.04 上使用 碼頭工人. 運行 Graphite 實例的最簡單方法是使用 docker。

石墨如何工作?

Graphite 架構的概述表明它由三個軟件組件組成:

  • :被動監聽時間序列數據以進行數據收集的 Twisted 守護進程。
  • 耳語:用於存儲時間序列數據的簡單數據庫庫
  • 石墨網絡應用程序: Django WebApp,它使用開羅按需呈現圖形。

應用程序將數據發送到 Graphite 的處理後端 Carbon,後者將數據存儲在 Graphite 的數據庫 Whisper 中。 然後,可以通過 Graphite Web 界面 Graphite Web App 查看數據。

步驟 1:在 Ubuntu 上安裝 Docker

首先,我們將在 Ubuntu 上安裝 Docker。 使用 Docker,您可以在幾秒鐘內運行 Grapgiue。

要安裝 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組,這樣他就可以使用docker命令了 sudo 特權:

$ sudo usermod -aG docker username

然後退出並重新登錄以使操作生效

第 2 步:使用 docker 運行石墨

用docker運行graphite非常快。 這次它將需要一些其他組件,而不是我們之前看到的默認組件:

  • nginx:反向代理石墨儀表板
  • 石墨: 前端儀錶盤
  • : 後台
  • 統計數據: 基於UDP的後端代理

您還需要檢查石墨所需的不同端口是否可用。 此外,在此過程中,主機和容器之間將進行端口映射,因此如果它不適合您的實際配置,您可以更改一些映射配置。 您可以了解更多關於 石墨的官方 Github 回購.

主持人容器服務
8080nginx
2003年2003年碳接收器 – 明文
2004年2004年碳接收器 – 泡菜
20232023碳聚合器 – 明文
20242024碳聚合器-泡菜
80808080Graphite 內部 gunicorn 端口(無 Nginx 代理)。
81258125統計數據
81268126統計數據 admin

運行 nginx docker

在我們的例子中,我們將運行一個獨立的容器作為我們的 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 中為這種情況配置的映射卷中復制它。 我們將我們的密鑰和證書命名如下:

  • 域名.com.crt
  • 域名.com.key

我們將復制映射卷中的兩個文件。 複製證書

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

複製密鑰

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

潤石墨

要運行石墨,我們還將使用帶有一些選項的 docker run 命令。 在我們的例子中,我們將使用參數指示我們服務的域名 -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

你可以看看statsd。

石墨統計數據

Graphite的默認登錄用戶名是root,使用root密碼登錄。

您應該更改 root 配置文件的默認密碼以使其更安全,方法是使用 at https://domain.com/admin/password_change/

石墨更改密碼

您可以使用新密碼訪問它。

結論

在本教程中,我們學習瞭如何使用 docker 在 Ubuntu 20.04 上運行石墨。 您現在可以輕鬆監控數字時間序列數據並繪製圖形。