prometheus是一个数据库,它通过抓取监控目标上的指标 HTTP 端点来从这些目标收集指标,它将数据存储为时间序列的数据,可以将数据认为key和value,key就是时间点,value就是具体收集到的数据。
grafana:一个功能丰富的数据可视化平台,用于各种数据的可视化,它支持市面上几乎所有常用的中间件。
alertmanager:用来做告警通知,可以发送消息到邮箱,钉钉,企业微信,飞书,短信,语言电话等等,
node_exporter:机器系统数据收集插件,它收集机器各种信息,暴露一个HTTP给Prometheus进行数据分析。与之功能相同的还有一大堆,比如redis_exporter,mysql_exporter,mongodb_exporter…等等。
一:安装prometheus、grafana、node-exporter
#拉下镜像, 镜像名去https://hub.docker.com搜索查找docker pull prom/node-exporter:latestdocker pull prom/prometheus:latest:latestdocker pull grafana/grafana:latestdocker pull prom/alertmanager:latest#启动机器系统数据收集容器,启动后访问下http://10.5.2.186:9100/metricsdocker run --privileged=true --name node-exporter -p 9100:9100 -d prom/node-exporter#启动prometheus#mkdir -p /home/user00/prometheus/prometheus/,建个目录放数据#官网找下prometheus.yml,改一下内容,启动后访问下 http://10.5.2.186:9090/targetsdocker run --privileged=true --name prometheus -p 9090:9090 -v /home/user00/prometheus/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -d prom/prometheus#启动grafana#mkdir -p /home/user00/prometheus/grafana/data,建个目录放数据docker run --privileged=true --name grafana -p 3000:3000 -v /home/user00/prometheus/grafana/data:/var/lib/grafana -d grafana/grafana#启动后访问下http://10.5.2.186:3000/ , 账号密码默认是admin
# prometheus.yml 的配置global: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告警配置alerting:alertmanagers:- static_configs:- targets: ['10.5.2.186:9093']# - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.rule_files:- "node_down.yml"# - "first_rules.yml"# - "second_rules.yml"# 端点配置scrape_configs:- job_name: 'prometheus'static_configs:- targets: ['10.5.2.186:9090']- job_name: 'node01'static_configs:- targets: ['10.5.2.186:9100']
