Prometheus是一款面向云原生应用程序的开源监控工具,本文介绍如何基于天翼云容器Kubernetes版本部署Prometheus监控方案。
前提条件
- 您已经成功创建一个Kubernetes集群。
- 您已连接到集群,方便快速查看节点标签等信息。
背景信息
对于监控系统而言,监控对象通常分为以下两类:
- 资源监控:节点、应用的资源使用情况,在容器Kubernetes中可理解为节点的资源利用率、集群的资源利用率、Pod的资源利用率等。
- 应用监控:应用内部指标的监控,例如实时统计应用的在线人数,并通过端口暴露来实现应用业务级别的监控与告警等。
在Kubernetes系统中,监控对象具体为:
- 系统组件:Kubernetes集群中内置的组件,包括apiserver、controller-manager、etcd等。
- 静态资源实体:节点的资源状态、内核事件等。
- 动态资源实体:Kubernetes中抽象工作负载的实体,例如Deployment、DaemonSet、Pod等。
- 自定义应用:应用内部需要定制化的监控数据以及监控指标。
对于系统组件和静态资源实体的监控方式,在配置文件中指明即可。
对于动态资源实体的监控,可以使用Prometheus监控部署方案。
操作步骤
部署Prometheus监控方案
1、登录控制台,在左侧导航栏选择 插件> 插件市场 。
2、在插件市场页面单击日志与监控页签,点击 cube-prometheus 。
3、在cube-prometheus页面,单击 安装插件 ,选择版本并编辑yaml后点击 安装 (默认yaml配置可直接使用)。
1)查看部署结果成功后,执行以下命令,将集群中的Prometheus映射到本地9090端口。
kubectl port-forward svc/cube-prometheus-server 9090:80 -n cube-prometheus
2)在浏览器中访问localhost:9090,即可查看Prometheus。
3)选择菜单栏 Status > Targets ,查看所有采集任务。
如果所有任务的状态为 UP ,表示所有采集任务均已正常运行。
查看与展示数据聚合
1、执行以下命令,将集群中的Grafana映射到本地3000端口。
kubectl port-forward svc/cube-prometheus-grafana 3000:80 -n cube-prometheus
2、在浏览器中访问localhost:3000,选择相应的Dashboard,即可查看相应的聚合内容。
查看告警规则与设置告警压制
1、在浏览器中访问localhost:9090,选择菜单栏 Alerts ,即可查看当前的告警规则。
2、执行以下命令,并在浏览器中访问localhost:9093,选择 Silenced ,设置告警压制
kubectl --namespace cube-prometheus port-forward svc/cube-prometheus-alertmanager 9093:9093
告警配置
如果您想要设置告警的接收方式以及设置告警接收的模板,请参考如下配置信息对alertmanager的config进行配置。