因为昨天发现我们在有个设定似乎有些问题
造成 Grafana 无法启动
所以先将 values.yaml 的 pvc 注解起来
grafana:
enabled: true
sidecar:
datasources:
enabled: true
# persistence:
# enabled: true
# type: pvc
# existingClaim: efs-grafana-claim
image:
tag: 7.5.0
然後再下一次更新
helm upgrade -f values.yaml grafana . --namespace=grafana
这里我们不使用 helm 来建立 ingress
主要原因还是 enable 後设定完
会是 apiversion 是 apiVersion: networking.k8s.io/v1
这会让网页的设定怪怪的
关於已经将程序码 pull 下来
但这里我还不知道要怎麽修改比较好QQ
所以 ingress 的部分就还是另外建立 yaml 档来 apply
ingress.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: grafana-ingress
namespace: grafana
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/wafv2-acl-arn: "arn:aws:wafv2:ap-northeast-1:776212102166:regional/webacl/fundamental-acl/e571dcd7-ea0b-41fa-90db-f853d884e951"
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/healthcheck-path: '/'
alb.ingress.kubernetes.io/subnets: 'subnet-00280de34952ba84c, subnet-058594e4949f7e8de, subnet-053a83439089c2886'
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":80}, {"HTTPS":443}]'
alb.ingress.kubernetes.io/certificate-arn: "arn:aws:acm:ap-northeast-1:776212102166:certificate/28b6cabd-85d6-498c-aa91-1e4cd239dd3d"
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
spec:
rules:
- http:
paths:
- path: /*
backend:
serviceName: ssl-redirect
servicePort: use-annotation
- path: /*
backend:
serviceName: grafana
servicePort: 80
kubectl apply -f ingress.yaml
kubectl get secret --namespace grafana grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
齿轮图案的第一个选项
就是 datasource
Grafana 支援各种资料来源
而 Loki 只是其中一种
可以看到预设已经帮我们加进去了
左侧+可新增 Dashboard
选择 Add an empty panel
如果要显示 Log 的话
右边的 Visualization
选择 Logs
并在下方查询方法中输入 json {namespace="ithome-ironman"}
可根据 namespace、pod、service 去查找 Log
按下 Save
储存
最後再按下磁碟片图案 Save Dashboard
即可储存
因为当初部署的专案只是个简单的 initial 专案
尚未配置任何的 Log 可供显示
因此目前查无资料是正常状况
刚刚我们建立完 Ingress 资讯後
在 EC2 的负载平衡器就会出现 load balance
此时我们就可以在自己的 DNS 添加一笔 CName Record 指向负载平衡器
写在这里其实有点奇怪
但,昨天就是忘了写只好写在这里
简单来说
我们用了 Grafana、Promtail 和 Loki 三个服务
只是透过 Helm Repository
帮我们把这些包好
功能开关及设定都参数化
让我们可以很轻易的就将整个服务进行更版
一个仪表板服务
整合各种 datasource
从自家的 Loki、各大厂的资料库
到 Azure Monitor 和 AWS CloudWatch 都有支援
觉得资料库权限不好卡
或是云端供应商的 IAM 不好设定
不妨建立一个 Grafana 来接这些 Datasource
这样可以只让相关人士看到需要的资讯
就...会自动帮你把 Log 建立起来做索引
最後当 Datasource 来让 Grafana 捞取资料
会采集 K8S 环境中的 Log
并转发到 Loki 里面
在部分情境的使用上
我们可能不见得会仰赖帐密
可能会使用 O365 或是 ldap 登入
我们如果将原始码 pull 下来
就可以直接修改这设定了
/loki-stack/charts/grafana/values.yaml
搜寻 grafana.ini
在这区块以下可以设定 Azure AD OAuth 登入
你没看错是 OAuth
不是 SAML Fedaration
所以实际上它在登入时会建立新的使用者
虽然我们不如预期
没办法将 EFS 挂载在 EKS 上
但所幸我们还是将 Grafana 架起来
并建立 Dashboard
明天老实说我还不知道要写什麽
目前最後一哩路
大概就差 CloudWatch 和之前未填的坑
参考资料:
<<: Day 24 -资料库应用小程序 资料库设计(实体关联模型(E-R model)分析)
今天的影片内容为介绍selenium的webdriver物件用来寻找网页元素的方法 其实跟Beaut...
二元树走访或称二元树遍历,简单来说就是走访树中各节点,转化为线性关系。 主要分成两种策略方式 深度优...
其实原本最初规画想要做Index方式的纪录,然後多增加一些没写到的面向 不过,总是计画赶不上变化 ...
老议题+最近新闻 厂商的说法 iOS系统为App开发者提供相簿更新通知标准能力,相簿发生内容更新时会...
昨天的重点复习/./就是一个最简单的正规表达式。 先认识一下match与=~。 match回传匹配的...