基于腾讯云 Lighthouse 自建 Grafana 和 Prometheus 服务 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
panisertoller
V2EX    云计算

基于腾讯云 ighthouse 自建 Grafana 和 Prometheus 服务

  •  
  •   panisertoller 2023-10-25 22:08:25 +08:00 1509 次点击
    这是一个创建于 785 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Kubernetes 是一种强大的容器编排系统,它使您能够轻松地部署、管理和扩展容器化应用程序。在监控和可视化方面,Grafana 和 Prometheus 是两个非常有用的工具。本文将引导读者朋友们在 Kubernetes 集群上安装和配置 Grafana 和 Prometheus 。

    前言

    当在 Kubernetes 集群上安装 Grafana 和 Prometheus 之前,让我们首先了解一下这两个工具的基本概念和功能。

    Grafana

    Grafana 的主要作用是帮助用户将监控数据可视化,从而更容易理解应用程序和系统的性能、健康状况以及趋势。它提供了一个用户友好的界面,可以让用户创建漂亮和有用的监控仪表板,用于监视和分析数据。当与 Prometheus 等数据源集成时,Grafana 可以展示 Prometheus 采集到的数据。

    Prometheus

    Prometheus 是一个开源的监控和警报工具,最初由 SoundCloud 开发并开源。其工作原理是定期从各种目标(如应用程序、容器、操作系统、数据库等)中抓取指标数据,存储在本地数据库中,并提供查询和警报功能。这种方式使得 Prometheus 适合于云原生环境和容器化应用程序的监控。

    准备 Kubernetes 集群

    Lighthouse 是腾讯云推出的一款轻量应用服务器产品,它提供了高性价比、高可用性、高安全性和高灵活性的云端计算服务。具体信息参阅官方文档:轻量应用服务器概述

    为了部署 Grafana 和 Prometheus 服务,我们需要购买一台轻量应用服务器,并配置好相关的环境和依赖。购买步骤参见官方文档:使用轻量应用服务器一键创建应用应用类型请选择**k3s**。

    创建 kubernetes 部署配置文件

    1 、将下面的代码保存为grafpro.yaml,可根据实际修改部分参数,或使用后文的脚本自动修改。

    kind: Deployment apiVersion: apps/v1 metadata: name: &name grafpro labels: app: *name spec: selector: matchLabels: app: *name template: metadata: labels: app: *name spec: containers: - name: grafana image: grafana/grafana securityContext: runAsUser: 0 ports: - containerPort: 3000 volumeMounts: - name: *name subPath: grafana mountPath: /var/lib/grafana - name: prometheus image: prom/prometheus securityContext: runAsUser: 0 ports: - containerPort: 9090 volumeMounts: - name: *name subPath: etc mountPath: /etc/prometheus - name: *name subPath: prometheus mountPath: /prometheus volumes: - name: *name hostPath: path: /srv/grafpro type: DirectoryOrCreate --- kind: Service apiVersion: v1 metadata: name: &name grafpro labels: app: *name spec: selector: app: *name ports: - name: grafana port: 3000 targetPort: 3000 - name: prometheus port: 9090 targetPort: 9090 --- kind: Ingress apiVersion: networking.k8s.io/v1 metadata: name: &name grafpro annotations: traefik.ingress.kubernetes.io/router.entrypoints: web,websecure spec: rules: - host: grafana.example.org http: paths: - path: / pathType: Prefix backend: service: name: *name port: name: grafana - host: prometheus.example.org http: paths: - path: / pathType: Prefix backend: service: name: *name port: name: prometheus tls: - secretName: default 

    2 、将下面的代码保存为grafpro.sh,请注意修改GRAFPRO_STORAGEGRAFPRO_DOMAINPROMETHEUS_DOMAIN变量的值。

    export GRAFPRO_STORAGE=${GRAFPRO_STORAGE:-"/srv/grafpro"} export GRAFANA_DOMAIN=${GRAFPRO_DOMAIN:-"grafana.example.org"} export PROMETHEUS_DOMAIN=${PROMETHEUS_DOMAIN:-"grafana.example.org"} mkdir -p $GRAFPRO_STORAGE/etc cat <<EOF >$GRAFPRO_STORAGE/etc/prometheus.yml global: scrape_interval: 5s scrape_timeout: 5s evaluation_interval: 15s scrape_configs: - job_name: prometheus static_configs: - targets: - 127.0.0.1:9090 EOF cat grafpro.yaml \ | sed "s#/srv/grafpro#$GRAFPRO_STORAGE#g" \ | sed "s#grafana.example.org#$GRAFANA_DOMAIN#g" \ | sed "s#prometheus.example.org#$PROMETHEUS_DOMAIN#g" \ | kubectl apply -f - 

    3 、将grafpro.yamlgrafpro.sh文件上传到 k8s 主服务器上的同一目录内。注意检查grafpro.sh文件的换行是否为LF,否脚本可能无法执行。

    部署 Grafana 和 Prometheus

    通过 ssh 登录服务器,执行以下命令,部署 Grafana 和 Prometheus 服务。

    chmod +x grafpro.sh ./grafpro.sh 

    测试和验证

    Grafana

    1 、浏览器打开http://grafana.example.org,使用用户名admin和密码admin登录,此时会提示修改一个新的密码,修改后将自动转入控制台页面。

    2 、浏览器打开http://grafana.example.org/connections/datasources/edit/bc3e3d0a-090a-469f-8c25-f93818410784,在Prometheus server URL输入框内填入http://127.0.0.1:9090,点击Save & Test后保存。

    3 、浏览器打开http://grafana.example.org/connections/datasources/edit/bc3e3d0a-090a-469f-8c25-f93818410784/dashboards,导入Prometheus 2.0 Stats仪表盘。

    测试图表

    Prometheus

    浏览器打开http://prometheus.example.org,无需登录即可使用查询面板。生产环境建议至少添加Basic Auth认证,防止数据泄露。

    运行状态

    写在最后

    本文介绍了如何安装 Grafana 和 Prometheus ,并未添加数据采集器(exporter),我将分为不同的章节为大家一一介绍常用的数据采集器。请大家收藏若海の技术写真,关注后续的章节。

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2657 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 11:49 PVG 19:49 LAX 03:49 JFK 06:49
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86