夜鶯(Nightingale)使用 Docker Compose 方式部署的步驟說明
下載
參考二進位安裝章節,下載夜鶯的發佈包,裡面會有 Docker Compose 相關的設定檔,也可以直接下載夜鶯的原始碼倉庫,裡面也可以找到 Docker Compose 的設定檔。
啟動
不管是下載發佈包還是原始碼倉庫,解壓縮之後都會有一個 docker/compose-bridge 目錄,進入這個目錄執行 docker-compose up -d 命令即可(國內網路,映像下載可能會失敗,您需要自行解決科學上網的問題)。
root@ubuntu-linux-22-04-desktop:/opt/n9e/docker/compose-bridge# docker compose up -d
[+] Running 5/5
✔ Container victoriametrics Started 0.6s
✔ Container redis Started 0.6s
✔ Container mysql Started 0.6s
✔ Container nightingale Started 0.2s
✔ Container categraf Started 0.2s
root@ubuntu-linux-22-04-desktop:/opt/n9e/docker/compose-bridge# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
categraf m.daocloud.io/docker.io/flashcatcloud/categraf:latest "/entrypoint.sh" categraf 2 minutes ago Up 3 seconds
mysql mysql:8 "docker-entrypoint.s…" mysql 2 minutes ago Up 4 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp
nightingale m.daocloud.io/docker.io/flashcatcloud/nightingale:latest "sh -c /app/n9e" nightingale 2 minutes ago Up 3 seconds 0.0.0.0:17000->17000/tcp, :::17000->17000/tcp, 0.0.0.0:20090->20090/tcp, :::20090->20090/tcp
redis redis:6.2 "docker-entrypoint.s…" redis 2 minutes ago Up 4 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp
victoriametrics victoriametrics/victoria-metrics:v1.79.12 "/victoria-metrics-p…" victoriametrics 2 minutes ago Up 4 seconds 0.0.0.0:8428->8428/tcp, :::8428->8428/tcp
Docker Compose 啟動了多個容器,分別是:
victoriametrics:時序資料庫,和 Prometheus 相容,效能更好redis:快取資料庫,夜鶯使用 Redis 來儲存 jwt token 和機器的心跳中繼資訊mysql:關聯式資料庫,夜鶯使用 MySQL 來儲存使用者資訊、告警規則、儀表板等設定類資料nightingale:夜鶯監控的核心服務categraf:監控資料採集器,負責採集主機的 CPU、記憶體、磁碟等指標資料
登入
使用瀏覽器存取 http://localhost:17000 開啟夜鶯監控的頁面,預設使用者名稱是 root,預設密碼是 root.2020。
請把 localhost 替換成你的伺服器 IP 位址。
叢集模式
叢集模式下,多個 n9e 要共用同一套 MySQL 和 Redis,所以就不能簡單地使用預設的 Docker Compose 了,您需要修改 etc-nightingale 目錄下的 config.toml 設定檔,配置統一的 MySQL 和 Redis 的連線資訊。
邊緣模式
邊緣模式需要用到 n9e-edge 程序,不過社群並未提供 n9e-edge 的 Docker 映像,所以邊緣模式下還是需要使用二進位方式部署 n9e-edge 程序。邊緣模式的詳細說明請參考:夜鶯架構中的邊緣模式說明。