欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Grafana和Prometheus搭建监控

程序员文章站 2024-03-21 12:57:28
...

Prometheus

  1. Prometheus是一套基于应用的metrics来进行监控&报警的开源工具。

  2. 原理:通过HTTP接口周期性的抓取被监控应用的状态,只需要应用提供HTTP接口就可以接入监控,非常适合虚拟化环境比如VM或者Docker。

  3. 参考:https://www.cnblogs.com/xiao987334176/p/9930517.html

Prometheus的docker安装

  1. 拉取镜像:docker pull prom/prometheus
  2. 创建配置文件:vi ~/prometheus/opt/prometheus.yml
  3. 添加监控的exporter(node-exporter):
 - job_name: linux-status
    static_configs:
      - targets: ['192.168.99.100:9100']
        labels:
          instance:  linux-status
  1. 创建启动脚本:注意–net="host"的设置使得docker容器内部和宿主机公用了网络,这样使得docker容器之间可以互相访问。
su -c "setenforce 0";
docker stop prometheus-monitor;
docker rm prometheus-monitor;
docker run -d --name prometheus-monitor -p 9090:9090 --net="host"  -v /home/dengh/prometheus/opt/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus:latest;
  1. 添加一个node-exporter,用来输出linux主机信息:也需要–net=“host”
docker pull prom/node-exporter;
docker run -d --name node-exporter -p 9100:9100 --net="host"  -v /home/dengh/node-exporter/proc:/host/proc:ro -v /home/dengh/node-exporter/sys:/host/sys:ro -v /home/dengh/node-exporter/:/rootfs:ro  prom/node-exporter:latest;
  1. 访问prometheus的监控页面:http://192.168.99.100:9090/targets和/graph来查找各个endpoint的监控值
  2. 极有可能出现,windows中的web页面无法访问虚拟机端口的情况,导致6中的页面不显示,在虚拟机中是可以通过curl访问的,此时很可能是防火墙的问题,简单的关闭防火墙(systemctl stop firewalld.service)不推荐,且可能造成其他应用无法启动,可以通过配置暴露防火墙端口来解决:https://blog.csdn.net/xiunai78/article/details/84981281
firewall-cmd --zone=public --add-port=9090/tcp --permanent
firewall-cmd --reload

Grafana

  1. 开源的度量分析和可视化工具,将采集的数据查询然后可视化的展示,并及时通知和告警。
  2. 数据源有:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等

Grafana的docker安装

  1. 查找镜像:docker search grafana。官方镜像查找:docker.hub,搜索grafana
  2. 拉取镜像:docker pull grafana/grafana
  3. 启动容器:docker run -d --name grafana-monitor -p 3000:3000 -e “GF_SERVER_ROOT_URL=http://grafana.server.name” -e “GF_SECURITY_ADMIN_PASSWORD=dengh” -v /home/dengh/grafana/data:/var/lib/grafana grafana/grafana:latest;
  4. 启动容器时如果要挂载配置,可能提示无权限,待解决:-v /home/dengh/grafana/etc:/etc/grafana
  5. 查看端口,浏览器访问:http://192.168.99.100:3000/
  6. 参考:https://www.jianshu.com/p/fc6a85d830ab

Grafana聚合Prometheus

  1. 访问grafana:http://192.168.99.100:3000/
  2. 添加数据源:add data source,url 输入Prometheus的ip+端口:
    http://192.168.99.100:9090/
  3. 添加dashboard:new dashboard,点击graph,对panel进行edit,添加对应的metrics,save后即可看到对mertics的监控
  4. 参考:https://www.cnblogs.com/xiao987334176/p/9930517.html
相关标签: 微服务生态

上一篇: 不带头结点单链表

下一篇: