prometheus是一个数据库,它通过抓取监控目标上的指标 HTTP 端点来从这些目标收集指标,它将数据存储为时间序列的数据,可以将数据认为key和value,key就是时间点,value就是具体收集到的数据。
    grafana:一个功能丰富的数据可视化平台,用于各种数据的可视化,它支持市面上几乎所有常用的中间件。
    alertmanager:用来做告警通知,可以发送消息到邮箱,钉钉,企业微信,飞书,短信,语言电话等等,
    node_exporter:机器系统数据收集插件,它收集机器各种信息,暴露一个HTTP给Prometheus进行数据分析。与之功能相同的还有一大堆,比如redis_exporter,mysql_exporter,mongodb_exporter…等等。

    一:安装prometheus、grafana、node-exporter

    1. #拉下镜像, 镜像名去https://hub.docker.com搜索查找
    2. docker pull prom/node-exporter:latest
    3. docker pull prom/prometheus:latest:latest
    4. docker pull grafana/grafana:latest
    5. docker pull prom/alertmanager:latest
    6. #启动机器系统数据收集容器,启动后访问下http://10.5.2.186:9100/metrics
    7. docker run --privileged=true --name node-exporter -p 9100:9100 -d prom/node-exporter
    8. #启动prometheus
    9. #mkdir -p /home/user00/prometheus/prometheus/,建个目录放数据
    10. #官网找下prometheus.yml,改一下内容,启动后访问下 http://10.5.2.186:9090/targets
    11. docker run --privileged=true --name prometheus -p 9090:9090 -v /home/user00/prometheus/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -d prom/prometheus
    12. #启动grafana
    13. #mkdir -p /home/user00/prometheus/grafana/data,建个目录放数据
    14. docker run --privileged=true --name grafana -p 3000:3000 -v /home/user00/prometheus/grafana/data:/var/lib/grafana -d grafana/grafana
    15. #启动后访问下http://10.5.2.186:3000/ , 账号密码默认是admin
    1. # prometheus.yml 的配置
    2. global:
    3. scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
    4. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
    5. # scrape_timeout is set to the global default (10s).
    6. # alertmanager告警配置
    7. alerting:
    8. alertmanagers:
    9. - static_configs:
    10. - targets: ['10.5.2.186:9093']
    11. # - alertmanager:9093
    12. # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
    13. rule_files:
    14. - "node_down.yml"
    15. # - "first_rules.yml"
    16. # - "second_rules.yml"
    17. # 端点配置
    18. scrape_configs:
    19. - job_name: 'prometheus'
    20. static_configs:
    21. - targets: ['10.5.2.186:9090']
    22. - job_name: 'node01'
    23. static_configs:
    24. - targets: ['10.5.2.186:9100']