CLUSTER_NAME=<CLUSTER_NAME>
REGION=ap-northeast-2
S3_BUCKET_NAME=mimir-s3-bucket-0000
ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text)
Shell
복사
cat > grafana-tempo-s3-policy.json <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "MimirStorage",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::${S3_BUCKET_NAME}",
"arn:aws:s3:::${S3_BUCKET_NAME}/*"
]
}
]
}
EOF
Shell
복사
aws iam create-policy \
--policy-name MimirPolicy \
--policy-document file://grafana-tempo-s3-policy.json
Shell
복사
eksctl create iamserviceaccount \
--name mimir-sa \
--namespace mimir-test \
--cluster $CLUSTER_NAME \
--attach-policy-arn arn:aws:iam::$ACCOUNT_ID:policy/MimirPolicy \
--approve \
--region $REGION \
--role-name MimirRole
Shell
복사
helm repo add grafana-operator https://grafana.github.io/helm-charts
helm repo update
helm install grafana-operator grafana/grafana-agent-operator -n grafana --create-namespace
Shell
복사
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
helm install grafana grafana/grafana -n grafana
Shell
복사
cat << EOF > mimir-values.yaml
mimir:
structuredConfig:
blocks_storage:
backend: s3
s3:
bucket_name: mimir-s3-bucket-0000
endpoint: s3.ap-northeast-2.amazonaws.com
region: ap-northeast-2
serviceAccount:
create: false
name: "mimir-sa"
minio:
enabled: false
metaMonitoring:
serviceMonitor:
enabled: true
grafanaAgent:
enabled: true
installOperator: true
metrics:
additionalRemoteWriteConfigs:
- url: "http://mimir-nginx.mimir-test.svc:80/api/v1/push"
EOF
Shell
복사
helm upgrade -i -n mimir-test mimir grafana/mimir-distributed --create-namespace -f mimir-values.yaml
Shell
복사
kubectl get secret --namespace grafana grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
Shell
복사
kubectl port-forward -n grafana svc/grafana 3000:80 --address=0.0.0.0
Shell
복사
http://mimir-nginx.mimir-test.svc:80/prometheus
이제 mimir를 prometheus처럼 사용할 수 있게 되며 아래와 같이 S3에도 mimir cluster라는 folder가 생성된다.
추후 pending 상태 트러블 슈팅하기