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代理
- 配置grafana
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;
}
1.2 k8s方式
请看k8s章节