그라파나

Grafana Docker 이미지 실행

구일칠구 2022. 8. 12. 12:58

Grafana Docker 이미지 실행

공식 Docker 이미지를 사용하여 Grafana를 설치하고 실행할 수 있습니다. 도커 이미지는 두 가지 버전으로 제공됩니다.

그라파나 엔터프라이즈 :grafana/grafana-enterprise

그라파나 오픈 소스 :grafana/grafana-oss

각 에디션은 Alpine과 Ubuntu의 두 가지 변형으로 제공됩니다. 아래를 참조하십시오.

도커 이미지 구성에 대한 문서 는 Grafana Docker 이미지 구성 을 참조하십시오 .

이 주제에는 이전 Docker 이미지 버전에서 마이그레이션하는 방법에 대한 중요한 정보도 포함되어 있습니다 .

참고: Grafana Cloud 를 사용 하여 관찰 가능성 스택을 설치, 유지 관리 및 확장하는 오버헤드를 피할 수 있습니다. 무료 영구 플랜에는 Grafana, 10K Prometheus 시리즈, 50GB 로그 등이 포함됩니다. 시작하려면 무료 계정을 만드 십시오.

Grafana 엔터프라이즈 에디션 :grafana/grafana-enterprise:<version>

Grafana 오픈 소스 에디션 :grafana/grafana-oss:<version>

기본 이미지는 Alpine 공식 이미지 에서 사용할 수 있는 인기 있는 Alpine Linux 프로젝트 를 기반으로 합니다 . Alpine Linux는 대부분의 배포 기반 이미지보다 훨씬 작기 때문에 더 얇고 안전한 이미지를 제공합니다.

Alpine 변형은 보안 및 최종 이미지 크기를 가능한 한 작게 원하는 경우 적극 권장됩니다. 주목해야 할 주요 경고 는 glibc 및 friend 대신 musl libc 를 사용 하므로 특정 소프트웨어는 libc 요구 사항의 깊이에 따라 문제가 발생할 수 있다는 것입니다. 그러나 대부분의 소프트웨어에는 이에 대한 문제가 없으므로 이 변종은 일반적으로 매우 안전한 선택입니다.

참고: Grafana 도커 이미지는 버전 6.4.0 이전 의 Ubuntu 를 기반으로 했습니다.

우분투 이미지

Grafana 엔터프라이즈 에디션 :grafana/grafana-enterprise:<version>-ubuntu

Grafana 오픈 소스 에디션 :grafana/grafana-oss:<version>-ubuntu

이 이미지는 Ubuntu를 기반으로 하며 Ubuntu 공식 이미지 에서 사용할 수 있습니다 . Ubuntu 기반 이미지를 선호하거나 Alpine에서 사용할 수 없는 특정 도구에 의존 하는 사람들을 위한 대체 이미지입니다 .

그라파나 실행

최신 Grafana 버전을 실행하거나, 특정 버전을 실행하거나, grafana/grafana GitHub 저장소 의 메인 브랜치를 기반으로 불안정한 버전을 실행할 수 있습니다 .

최신 안정 버전의 Grafana 실행

참고: Linux 시스템을 사용 중인 sudo경우 명령 앞에 추가하거나 사용자를 docker그룹에 추가해야 할 수 있습니다.

docker run -d -p 3000:3000 grafana/grafana-enterprise
  

특정 버전의 Grafana 실행

참고: Linux 시스템을 사용 중인 sudo경우 명령 앞에 추가하거나 사용자를 docker그룹에 추가해야 할 수 있습니다.

docker run -d -p 3000:3000 --name grafana grafana/grafana-enterprise:<version number>
  

예시:

docker run -d -p 3000:3000 --name grafana grafana/grafana-enterprise:8.2.0
  

Grafana 메인 브랜치 실행

메인 브랜치의 모든 성공적인 빌드에 대해 grafana/grafana-oss:main및 grafana/grafana-oss:main-ubuntu태그를 업데이트합니다. 또한 두 개의 새 태그가 생성 grafana/grafana-oss-dev:<version>-<build ID>pre되고 grafana/grafana-oss-dev:<version>-<build ID>pre-ubuntu, 여기서 version 은 Grafana의 다음 버전이고 빌드 ID 는 해당 CI 빌드의 ID입니다. 이를 사용하여 Grafana의 최신 기본 빌드에 액세스할 수 있습니다.

프로덕션에서 Grafana main을 실행할 때 태그 를 사용하는 것이 좋습니다 . grafana/grafana-oss-dev:<version>-<build ID>pre이 태그는 그 당시 가장 최근 커밋이 아닌 특정 버전의 Grafana를 사용하도록 보장합니다.

사용 가능한 태그 목록은 grafana/grafana-oss grafana/grafana-oss-dev 를 확인 하십시오.

Docker 컨테이너에 플러그인 설치

Grafana 플러그인 페이지 또는 사용자 정의 URL에서 나열된 공식 및 커뮤니티 플러그인을 설치할 수 있습니다 .

공식 및 커뮤니티 Grafana 플러그인 설치

설치하려는 플러그인을 GF_INSTALL_PLUGINS쉼표로 구분된 목록으로 환경 변수와 함께 Docker에 전달하십시오. grafana-cli plugins install ${plugin}이렇게 하면 Grafana가 시작될 때 각 플러그인 이름을 로 보내고 설치합니다.

docker run -d \
  -p 3000:3000 \
  --name=grafana \
  -e "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource" \
  grafana/grafana-enterprise
  

참고:GF_INSTALL_PLUGINS 플러그인의 버전을 지정해야 하는 경우 환경 변수 에 추가할 수 있습니다 . 그렇지 않으면 최신이 사용됩니다. 예: -e "GF_INSTALL_PLUGINS=grafana-clock-panel 1.0.1,grafana-simple-json-datasource 1.3.5".

다른 소스에서 플러그인 설치

Grafana v5.3.1 이상에서만 사용할 수 있습니다.

다음과 같이 URL을 지정하여 사용자 정의 URL에서 플러그인을 설치할 수 있습니다 GF_INSTALL_PLUGINS=<url to plugin zip>;<plugin install folder name>.

docker run -d \
  -p 3000:3000 \
  --name=grafana \
  -e "GF_INSTALL_PLUGINS=http://plugin-domain.com/my-custom-plugin.zip;custom-plugin,grafana-clock-panel" \
  grafana/grafana-enterprise
  

사전 설치된 플러그인으로 Docker 이미지 빌드 및 실행

플러그인이 포함된 사용자 정의 이미지를 빌드할 수 있습니다. 이렇게 하면 여러 이미지를 만들고 빌드 시 동일한 플러그인을 모두 설치하려는 경우 시간을 절약할 수 있습니다.

Grafana GitHub 리포지토리 에는 라는 폴더가 있습니다 . packaging/docker/custom/여기에는 두 개의 Dockerfile Dockerfile및 가 포함되어 있으며 이 폴더 ubuntu.Dockerfile는 사용자 지정 Grafana 이미지를 빌드하는 데 사용할 수 있습니다. GRAFANA_VERSION, GF_INSTALL_PLUGINS및 GF_INSTALL_IMAGE_RENDERER_PLUGIN빌드 인수로 허용 합니다.

사전 설치된 플러그인으로 빌드

GF_INSTALL_PLUGINS플러그인의 버전을 지정해야 하는 경우 빌드 인수 에 추가할 수 있습니다 . 그렇지 않으면 최신 것으로 간주됩니다. 예를 들어:--build-arg "GF_INSTALL_PLUGINS=grafana-clock-panel 1.0.1,grafana-simple-json-datasource 1.3.5"

빌드 및 실행 방법의 예:

cd packaging/docker/custom
  docker build \
  --build-arg "GRAFANA_VERSION=latest" \
  --build-arg "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource" \
  -t grafana-custom -f Dockerfile .
  
  docker run -d -p 3000:3000 --name=grafana grafana-custom
  

다른 소스에서 사전 설치된 플러그인으로 빌드

다음과 같이 URL을 지정하여 다른 소스의 플러그인으로 Docker 이미지를 빌드할 수 있습니다 GF_INSTALL_PLUGINS=<url to plugin zip>;<plugin install folder name>.

cd packaging/docker/custom
  docker build \
  --build-arg "GRAFANA_VERSION=latest" \
  --build-arg "GF_INSTALL_PLUGINS=http://plugin-domain.com/my-custom-plugin.zip;custom-plugin,grafana-clock-panel" \
  -t grafana-custom -f Dockerfile .
  
  docker run -d -p 3000:3000 --name=grafana grafana-custom
  

Dockerfile위의 예에서 로 교체 ubuntu.Dockerfile하여 사용자 지정 Ubuntu 기반 이미지(Grafana v6.5+)를 빌드합니다.

사전 설치된 Grafana Image Renderer 플러그인으로 빌드

Grafana v6.5 이상에서만 사용할 수 있습니다. 이것은 실험적입니다.

Grafana 이미지 렌더러 플러그인 Grafana Docker 이미지에 설치된 경우 현재 작동하지 않습니다. GF_INSTALL_IMAGE_RENDERER_PLUGIN빌드 인수 를 사용하여 사용자 지정 Docker 이미지를 빌드할 수 있습니다 . 이렇게 하면 Grafana Image Renderer 플러그인을 실행하는 데 필요한 추가 종속성이 설치됩니다.

빌드 및 실행 방법의 예:

cd packaging/docker/custom
  docker build \
  --build-arg "GRAFANA_VERSION=latest" \
  --build-arg "GF_INSTALL_IMAGE_RENDERER_PLUGIN=true" \
  -t grafana-custom -f Dockerfile .
  
  docker run -d -p 3000:3000 --name=grafana grafana-custom
  

Dockerfile위의 예에서 로 교체 ubuntu.Dockerfile하여 사용자 지정 Ubuntu 기반 이미지(Grafana v6.5+)를 빌드합니다.

이전 Docker 컨테이너 버전에서 마이그레이션

이 섹션에는 이전 Grafana 컨테이너 버전에서 최신 버전으로 마이그레이션하려는 경우 중요한 정보가 포함되어 있습니다.

v7.3 이상으로 마이그레이션

Grafana Docker 이미지는 OpenShift와의 더 나은 호환성을 위해 그룹(id 472) root대신 그룹(id 0) 과 함께 실행됩니다. 공식 Docker 이미지를 확장하는 경우 .NET 대신 그룹 grafana을 사용하도록 스크립트를 변경해야 할 수 있습니다 .rootgrafana

v6.5 이상으로 마이그레이션

Grafana Docker 이미지는 이제 Alpine 기반과 Ubuntu 기반 의 두 가지 변형으로 제공됩니다. 자세한 내용은 이미지 변형 을 참조하세요.

v6.4 이상으로 마이그레이션

Grafana Docker 이미지가 Ubuntu 가 아닌 Alpine 기반으로 변경되었습니다 .

v5.1 이상으로 마이그레이션

Grafana용 Docker 컨테이너는 5.1에서 대대적으로 재작성되었습니다.

중요한 변경 사항

  • 로 시작하는 동안 파일 소유권이 더 이상 수정되지 않습니다 chown.
  • 이제 기본 사용자 ID 472가 104.
  • 다음 암시적 볼륨을 제거했습니다.
    • /var/lib/grafana
    • /etc/grafana
    • /var/log/grafana

암시적 볼륨 제거

이전에는 /var/lib/grafana, /etc/grafana및 /var/log/grafana가 에서 볼륨으로 정의되었습니다 Dockerfile. 이로 인해 원하든 원하지 않든 Grafana 컨테이너의 새 인스턴스가 시작될 때마다 세 개의 볼륨이 생성되었습니다.

스토리지에 대해 고유한 명명된 볼륨을 정의하는 데 항상 주의해야 하지만 이러한 볼륨에 의존하는 경우 업그레이드된 컨테이너에 더 이상 볼륨이 없다는 점에 유의해야 합니다.

경고 : Docker compose 및 암시적 볼륨을 사용하여 이전 버전에서 5.1 이상으로 마이그레이션할 때 를 사용 docker inspect하여 컨테이너가 매핑된 볼륨을 찾아야 업그레이드된 컨테이너에도 매핑할 수 있습니다. 또한 아래에 설명된 대로 파일 소유권(또는 사용자)을 변경해야 합니다.

사용자 ID 변경

Grafana v5.1에서는 Grafana 사용자의 ID와 그룹을 변경했고 v7.3에서는 그룹을 변경했습니다. 불행히도 이것은 v5.1 이전에 생성된 파일이 이후 버전에 대한 올바른 권한을 갖지 않는다는 것을 의미합니다. Grafana 사용자 ID가 Grafana에 고유할 가능성이 더 높아지도록 이 변경을 수행했습니다. 예를 들어 Ubuntu 16.04 104에서는 이미 syslog 사용자가 사용 중입니다.

버전사용자사용자 ID그룹그룹 ID

< 5.1 그라파나 104 그라파나 107
>= 5.1 그라파나 472 그라파나 472
>= 7.3 그라파나 472 뿌리 0

이 문제에 대한 두 가지 가능한 솔루션이 있습니다. 새 컨테이너를 루트 사용자로 시작하고 소유권을 에서 로 변경 104하거나 472업그레이드된 컨테이너를 사용자로 시작합니다 104.

다른 사용자로 Docker 실행

docker run --user 104 --volume "<your volume mapping here>" grafana/grafana-enterprise:8.2.0
  

docker-compose.yml에서 사용자 지정

version: '2'
  
  services:
  grafana:
  image: grafana/grafana-enterprise:8.2.0
  ports:
  - 3000:3000
  user: '104'
  

권한 수정

아래 명령은 볼륨이 매핑된 Grafana 컨테이너 내에서 bash를 실행합니다. 이렇게 하면 새 컨테이너와 일치하도록 파일 소유권을 수정할 수 있습니다. 권한을 수정할 때는 항상 주의하십시오.

$ docker run -ti --user root --volume "<your volume mapping here>" --entrypoint bash grafana/grafana-enterprise:8.2.0
  
  # in the container you just started:
  chown -R root:root /etc/grafana && \
  chmod -R a+r /etc/grafana && \
  chown -R grafana:grafana /var/lib/grafana && \
  chown -R grafana:grafana /usr/share/grafana
  

다음 단계

로그인, 데이터 소스 설정 등에 대한 정보는 시작하기 가이드를 참조하십시오 .

도커 이미지 구성

환경, 로깅, 데이터베이스 등을 사용자 지정하기 위한 옵션에 대한 자세한 내용 은 Grafana Docker 이미지 구성 페이지를 참조 하십시오.

'그라파나' 카테고리의 다른 글

그라파나 업그레이드  (0) 2022.08.13
Kubernetes에 Grafana 배포  (0) 2022.08.12
macOS에 설치  (0) 2022.08.12
Windows에 설치  (0) 2022.08.12
RPM 기반 Linux(CentOS, Fedora, OpenSuse, Red Hat)에 설치  (0) 2022.07.15