Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合.由SoundCloud公司开发。
Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docker 。
Prometheus应该是为数不多的适合Docker、Mesos、Kubernetes环境的监控系统之一。近几年随着k8s的流行,prometheus成为了一个越来越流行的监控工具。
Prometheus监控k8s架构
Prometheus可以做什么
在业务层用作埋点系统 Prometheus支持各个主流开发语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端)。我们可以通过客户端方面的对核心业务进行埋点。如下单流程、添加购物车流程。在应用层用作应用监控系统 一些主流应用可以通过官方或第三方的导出器,来对这些应用做核心指标的收集。如redis,mysql。在系统层用作系统监控 除了常用软件, prometheus也有相关系统层和网络层exporter,用以监控服务器或网络。集成其他的监控 prometheus还可以通过各种exporte,集成其他的监控系统,收集监控数据,如AWS CloudWatch,JMX,Pingdom等等。不要用Prometheus做什么
prometheus也提供了Grok exporter等工具可以用来读取日志,但是prometheus是监控系统,不是日志系统。应用的日志还是应该走ELK等工具栈。
一般配合grafana做前端展示
百度云为需要的prometheus yaml文件,提取码请回复后会给出。
链接:https://pan.baidu.com/s/18oaE9IJxTecdlOGcTaegAQ
需要修改的文件为 alertmanager-configmap.yaml prometheus-configmap.yaml
简单叙述安装步骤
1、首先安装prometheus开头的yaml文件,然后安装文件中的node_export这些是prometheus监控node节点的
2、安装grafana.yaml文件,图形展示需要的
3、安装以kube开头的yaml文件,这些yaml是监控 k8s 资源需要的,例如deploy service一类的
4、最后安装alertmanager开头的yaml文件,这些是作为告警使用
部署完毕后