本文共 2880 字,大约阅读时间需要 9 分钟。
采集周期和评估周期
# my global configglobal: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s).# Alertmanager configuration 告警是由独立组件来完成的,需要指定组件在什么位置alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.rule_files: # - "first_rules.yml" # - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:# Here it's Prometheus itself.下面是监控配置scrape_configs: # The job name is added as a label `job=` to any timeseries scraped from this config. - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['localhost:9090'] - job_name: "docker" static_configs: - targets: ['192.168.31.62:8080'] - job_name: "Linux" static_configs: - targets: ['192.168.31.62:9100']
docker run起来就可以了
现在就可以访问了 有自己的数据模型,度量指标名,里面有多个标签,为了让这个指标存入多维度的数据模型 监控docker主机,要先运行一个容器 可以用states内置命令查看容器内的情况 现在是交互式一直在变动 可以加上no-stream 可以通过shell的awk把值取出来 直接取利用率百分比 Prometheus的都要按照这个来,度量指标名称+依赖 google开源了容器指标采集的系统cadvisor,内置在了K8S里,也是收集k8s里pod相关的指标的cadvisor通过docke安装
挂载一个根 挂载/var/run目录里面会有一些pid 系统启动的一些信息,当前统计的一些信息 挂载docker工作目录,通过这个目录可以获取运行的容器,要监控哪些容器 硬盘信息 8080访问看看,cadvisor只负责采集数据,不负责存储 cadvisor暴露了一个metrics指标,每一行都是监控指标,度量名称和标签,后面是对应的值,prometheus拿到这些数据放到tsdb时序数据库里 修改普罗米修斯的配置文件,采集监控端,指定连接协议 http,连接接口默认metrics 重启下容器就好 container开头的都是cadvisor发过来的数据增加数据源,就把普罗米修斯的访问地址9090即可
这样就完成了添加数据源
建议先去grafana的仪表盘库里去找,监控docker有一个不错的,id号是193 苦于直接选择导入仪表盘 输入193 选择数据源 这样数据就出来了,起来的两个容器都采集到了 上面是对容器的监控,还可以对主机的监控,需要下载exporter 跑一下脚本,node_exporter.sh#!/bin/bashwget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gztar zxf node_exporter-0.17.0.linux-amd64.tar.gzmv node_exporter-0.17.0.linux-amd64 /usr/local/node_exportercat </usr/lib/systemd/system/node_exporter.service[Unit]Description=https://prometheus.io[Service]Restart=on-failureExecStart=/usr/local/node_exporter/node_exporter[Install]WantedBy=multi-user.targetEOFsystemctl daemon-reloadsystemctl enable node_exportersystemctl restart node_exporter
这样就起来了
node_exporter监控地址是9100 Prometheus配置文件修改 可以重读配置也可以直接重启容器 现在都好了 grafana有个9276模板 如果遇到不出图,可能遇到很多原因,没数据(编辑的时候把公式复制到prometheus里执行看看),时间不对(选择7天这种,看能否出图,能出图多半是时间不对),promsql语句不对转载地址:http://mqzgn.baihongyu.com/