Prometheus

nginx-vts + prometheus 监控nginx

这一生的挚爱 提交于 2020-03-10 11:36:51
nginx是我们常用反向代理软件,它的监控对于我们来说十分重要,今天介绍一些怎样利用nginx-vts模块和prometheus来实现对nginx的详细监控。 在使用vts之前,我们想要获取nginx 状态码统计,访问量,响应时间等都是通过es分析nginx访问日志得到的,受限于公司es集群的规模,我们没办法做时间跨度过大的统计。后来调研vts模块,发现我们这个模块可以完全满足我们的需求,并且查询速度非常快,查询半年数据也能很快展示出来(我们prometheus只保留半年数据) 安装 1、下载模块 https://github.com/vozlt/nginx-module-vts/releases 2、编译 编译参数添加--add-module=/path/to/nginx-module-vts 然后编译 3、替换现有bin文件 4、reload nginx 通过 nginx -V 来查看模块是否添加成功 ###配置 1、配置状态访问接口 在default server里添加状态查看location,并做好相关访问限制 location /status{ allow 127.0.0.1; deny all; vhost_traffic_status_display; vhost_traffic_status_display_format html; } 2、开启vts统计

prometheus监控k8s

谁说胖子不能爱 提交于 2020-03-09 10:13:20
1.Prometheus 是什么 Prometheus(普罗米修斯)是一个最初在SoundCloud上构建的监控系统。自2012年成为社区开源项目,拥 有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus于2016年加入云原生云计算基金会 (CNCF),成为继Kubernetes之后的第二个托管项目。 官方链接: https://prometheus.io/ 托管git地址: https://github.com/prometheus 2.Prometheus组成及架构 Prometheus Server:收集指标和存储时间序列数据,并提供查询接口 ClientLibrary:客户端库 Push Gateway:短期存储指标数据。主要用于临时性的任务 Exporters:采集已有的第三方服务监控指标并暴露metrics Alertmanager:告警 Web UI:简单的Web控制台,展示功能较弱一般用来调试监控函数PromSQL,一般用grafana替代展示 TSDB:时序数据库,用来存储监控数据。 3.数据模型 Prometheus将所有数据存储为时间序列;具有相同度量名称以及标签属于同一个指标。 每个时间序列都由度量标准名称和一组键值对(也成为标签)唯一标识。 时间序列格式: <metric_name>{<lable_name>=<lable_value

安装Prometheus-Opeartor

匆匆过客 提交于 2020-03-09 07:25:02
一、下载 git clone clone https://github.com/coreos/prometheus-operator.git 或: wget https://github.com/coreos/prometheus-operator/archive/v0.23.0.tar.gz并解压 (我用的是这种) 二、部署 1、官方推荐新建一个namespace,所有需要新建一个namespace [^_^] linux02 ~# kubectl create namespace monitoring [^_^] linux02 ~# kubectl get namespaces NAME STATUS AGE default Active 22d kube-public Active 22d kube-system Active 22d monitoring Terminating 1h 2、修改配置文件: 进入文件 cd prometheus-operator-0.23.0 [^_^] linux02 prometheus-operator-0.23.0# vim bundle.yaml #总共有三处namespace需要修改 apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata

prometheus学习系列三:node_exporter安装部署

会有一股神秘感。 提交于 2020-03-07 07:03:49
node_exporter简介 node_exporter安装部署 [root@node00 ~]# cd /usr/src/ [root@node00 src]# wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz [root@node00 src]# mkdir /usr/local/exporter -pv mkdir: created directory ‘/usr/local/exporter’ [root@node00 src]# tar xf node_exporter-0.18.1.linux-amd64.tar.gz -C /usr/local/exporter/ [root@node00 src]# cd /usr/local/exporter/ [root@node00 exporter]# ls node_exporter-0.18.1.linux-amd64 [root@node00 exporter]# ln -s node_exporter-0.18.1.linux-amd64/ node_exporter node_exporter启动 [root@node00 node

Docker 再见,五种替代容器走上历史舞台!

廉价感情. 提交于 2020-03-04 21:01:10
2019年容器使用报告:Docker占据了容器平台市场的79%份额 据 2018 年统计,Docker 占据了 83% 的容器市场份额。可是就在 2017 年,这个数字还是 99% 。 连续三年容器平台市场占比持续走低。 根据调查结果显示:2019 年,Docker 占据了容器平台市场的大部分份额,占比为 79%,而排在第二位的是 containerd,占比为 18%,排在第三位的 CRI-O 项目,占比为 4%。这个调查结果与信通院的国内市场调查结果有异曲同工之妙,国内近六成企业选择 Docker 作为容器运行技术。 需要注意的是,containerd 是从 Docker 中剥离出来的容器虚拟化技术,CRI-O 是 Kubernetes 的轻量级运行时,最初是由 Red Hat 启动,目前由 CNCF 托管。Sysdig 预测未来 CRI-O 的使用率会不断升高,尤其是当 Red Hat OpenShift 的客户从 v3 迁移到 v4 时,因为在 v4 版本中,CRI-O 取代了原来的 Docker 引擎。 虽然容器运行时的选型各不相同,但是大家在选型时的考虑事项大多集中在开销、稳定性、可扩展性和容器注册表兼容性这几个方面。为了服务更多的用户,流行的容器平台例如 OpenShift、GKE 和 IKS 等都并行了支持多个容器运行时。 容器编排平台 根据调查结果显示

Prometheus监控docker服务

走远了吗. 提交于 2020-03-04 19:03:55
操作步骤: sudo docker run \ --restart=always \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:ro \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --volume=/dev/disk/:/dev/disk:ro \ --publish=8080:8080 \ --detach=true \ --name=cadvisor \ google/cadvisor:v0.33.0 echo ' global: scrape_interval: 15s scrape_timeout: 10s evaluation_interval: 15s alerting: alertmanagers: - static_configs: - targets: [] scheme: http timeout: 10s scrape_configs: - job_name: prometheus scrape_interval: 15s scrape_timeout: 10s metrics_path: /metrics scheme: http static_configs: - targets:

k8s 安装 prometheus 过程记录

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-02 07:32:28
k8s 安装 prometheus 过程记录 https://www.cnblogs.com/dudu/p/12146344.html 开始以为只要安装 prometheus-operator 就行了。 git clone https://github.com/coreos/prometheus-operator.git cd prometheus-operator sed 's/namespace: default/namespace: monitoring/g' bundle.yaml | kubectl apply -f - 安装后发现只有一个 prometheus-operator pod 。 $ kubectl get pods -n monitoring NAME READY STATUS RESTARTS AGE prometheus-operator-99dccdc56-qq5lm 1/1 Running 0 20m 这时才发现真正要安装的是 kube-prometheus 。 git clone https://github.com/coreos/kube-prometheus.git cd kube-prometheus kubectl create -f manifests/setup && \ until kubectl get

Prometheus入门+grafana集成

强颜欢笑 提交于 2020-02-28 17:22:41
开始使用Prometheus $ systemctl start prometheus $ netstat -lntp tcp6 0 0 :::9090 :::* LISTEN 19824/./prometheus 在浏览器访问: http://ip:9090/graph 。Prometheus会把自身作为一个项目进行自监控,查看收集到监控项: http://172.16.180.129:9090/metrics (如果是首次启动,需要等待30s左右的时间) 使用内置表达式查看数据 地址: http://ip:9090/graph Prometheus内置监控项 prometheus_target_interval_length_seconds ,将该监控项直接输入console查询,可获取数据: ![image-20190322132500188](/Users/adai/Library/Application Support/typora-user-images/image-20190322132500188.png) 使用prometheus监控服务器 上面用Prometheus本身的数据简单演示了监控数据的查询,这里我们用一个监控服务器状态的例子来更加直观说明。 为监控服务器CPU、内存、磁盘、I/O等信息,首先需要安装node_exporter。node

prometheus-metrics 类型

廉价感情. 提交于 2020-02-28 17:15:28
从存储上来讲所有的监控指标metric都是相同的,但是在不同的场景下这些metric又有一些细微的差异。 例如,在Node Exporter返回的样本中指标node_load1反应的是当前系统的负载状态,随着时间的变化这个指标返回的样本数据是在不断变化的。而指标node_cpu所获取到的样本数据却不同,它是一个持续增大的值,因为其反应的是CPU的累积使用时间,从理论上讲只要系统不关机,这个值是会无限变大的。 为了能够帮助用户理解和区分这些不同监控指标之间的差异,Prometheus定义了4中不同的指标类型(metric type):Counter(计数器)、Gauge(仪表盘)、Histogram(直方图)、Summary(摘要)。 在Exporter返回的样本数据中,其注释中也包含了该样本的类型。例如: # HELP node_cpu Seconds the cpus spent in each mode. # TYPE node_cpu counter node_cpu{cpu="cpu0",mode="idle"} 362812.7890625 Counter:只增不减的计数器 Counter类型的指标其工作方式和计数器一样,只增不减(除非系统发生重置)。常见的监控指标,如http_requests_total,node_cpu都是Counter类型的监控指标。

下一代应用监控指标采集器Prometheus基础介绍

蹲街弑〆低调 提交于 2020-02-28 16:46:04
Prometheus简介 Prometheus是一个最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用Prometheus,该项目拥有一个非常活跃的开发人员和用户社区。它现在是一个独立的开源项目。Prometheus于2016年加入谷歌主导的顶级开源社区云原生计算基金会(CNCF),成为第二个顶级托管项目。第一是大名鼎鼎的k8s。 prometheus是属于下一代监控。可用来监控 特征 普罗米修斯的主要特点是: 多维度数据模型(时序由metric名称和k/v结构的labels构成)。 灵活的查询语句(PromQL)。 无依赖存储,支持本地和远程。 采用http协议,使用pull模式拉取数据。 监控目标,可以采用服务发现或静态配置的方式。 支持多种统计数据模型,图形化友好。 组件 Prometheus生态系统由多个组件组成,其中许多组件是可选的,主要有: Prometheus server - 收集和存储时间序列数据 client library - 用于client访问server/pushgateway pushgateway - 对于短暂运行的任务,负责接收和缓存时间序列数据,同时也是一个数据源 exporter - 各种专用exporter,面向硬件、存储、数据库、HTTP服务等 alertmanager - 告警管理器