Skip to content

1. 容器方式

官当

1.1 docker-compose

1.创建目录

bash
mkdir -p /data/monitor/prometheus/grafana/{config,data}
mkdir -p /data/monitor/prometheus/grafana/{config,data}

2.创建配置文件

cat > /data/monitor/prometheus/grafana/config/grafana.ini <<EOF
[server]
enable_gzip = true
# To add HTTPS support:
#protocol = https
#;http_addr =
#http_port = 3000
#domain = localhost
#enforce_domain = false
#root_url = https://localhost:3000
#router_logging = false
#static_root_path = public
#cert_file = /etc/certs/cert.pem
#cert_key = /etc/certs/cert-key.pem

[security]
# If you want to embed grafana into an iframe for example
allow_embedding = true

[users]
default_theme = dark

EOF
cat > /data/monitor/prometheus/grafana/config/grafana.ini <<EOF
[server]
enable_gzip = true
# To add HTTPS support:
#protocol = https
#;http_addr =
#http_port = 3000
#domain = localhost
#enforce_domain = false
#root_url = https://localhost:3000
#router_logging = false
#static_root_path = public
#cert_file = /etc/certs/cert.pem
#cert_key = /etc/certs/cert-key.pem

[security]
# If you want to embed grafana into an iframe for example
allow_embedding = true

[users]
default_theme = dark

EOF

3.创建yaml文件

yaml
cat >docker-compose.yaml <<EOF
version: '3'
services:
  grafana:
    image: registry.cn-zhangjiakou.aliyuncs.com/hsuing/grafana:v11
    container_name: grafana
    restart: always
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=grafana
      - GF_USERS_ALLOW_SIGN_UP=false
      #- GF_INSTALL_PLUGINS="grafana-clock-panel,grafana-simple-json-datasource,grafana-worldmap-panel,grafana-piechart-panel"
    ports:
      - "3000:3000"
    volumes:
      - /data/monitor/prometheus/grafana/config/grafana.ini:/etc/grafana/grafana.ini
      - /data/monitor/prometheus/grafana/data:/var/lib/grafana
      #- /data/monitor/prometheus/grafana/provisioning/:/etc/grafana/provisioning/
EOF
cat >docker-compose.yaml <<EOF
version: '3'
services:
  grafana:
    image: registry.cn-zhangjiakou.aliyuncs.com/hsuing/grafana:v11
    container_name: grafana
    restart: always
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=grafana
      - GF_USERS_ALLOW_SIGN_UP=false
      #- GF_INSTALL_PLUGINS="grafana-clock-panel,grafana-simple-json-datasource,grafana-worldmap-panel,grafana-piechart-panel"
    ports:
      - "3000:3000"
    volumes:
      - /data/monitor/prometheus/grafana/config/grafana.ini:/etc/grafana/grafana.ini
      - /data/monitor/prometheus/grafana/data:/var/lib/grafana
      #- /data/monitor/prometheus/grafana/provisioning/:/etc/grafana/provisioning/
EOF
  • 启动
docker-compose up -d
docker-compose up -d

4.nginx代理

vim grafana.ini

[server]
domain = example.com
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana/
serve_from_sub_path = true
[server]
domain = example.com
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana/
serve_from_sub_path = true
  • 配置nginx
bash
   location ^~  /grafana/ {
        proxy_pass     http://172.18.110.129:3000;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_http_version 1.1;
	proxy_set_header Connection "Keep-Alive";
	proxy_set_header Host $http_host;
	proxy_set_header Upgrade $http_upgrade;
	proxy_set_header Connection $connection_upgrade;
   }
   location ^~  /grafana/api/live/ {
        proxy_pass     http://172.18.110.129:3000;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_http_version 1.1;
	proxy_set_header Connection "Keep-Alive";
	proxy_set_header Host $http_host;
	proxy_set_header Upgrade $http_upgrade;
	proxy_set_header Connection $connection_upgrade;
   }
   location ^~  /grafana/ {
        proxy_pass     http://172.18.110.129:3000;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_http_version 1.1;
	proxy_set_header Connection "Keep-Alive";
	proxy_set_header Host $http_host;
	proxy_set_header Upgrade $http_upgrade;
	proxy_set_header Connection $connection_upgrade;
   }
   location ^~  /grafana/api/live/ {
        proxy_pass     http://172.18.110.129:3000;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_http_version 1.1;
	proxy_set_header Connection "Keep-Alive";
	proxy_set_header Host $http_host;
	proxy_set_header Upgrade $http_upgrade;
	proxy_set_header Connection $connection_upgrade;
   }

image-20241211135311698

1.2 k8s方式

请看k8s章节