我的账户
码尚云教育

云计算企业项目实战营

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

普罗米修斯搭建部署—适合k8s和docker的监控系统)

一、Prometheus 简介Prometheus(普罗米修斯)是一套开源的监控报警时间序列数据库的组合,由 SoundCloud 公司开发。Prometheus 基本原理是通过 HTTP 协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提 ...

一、Prometheus 简介

Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,由 SoundCloud 公司开发。

Prometheus 基本原理是通过 HTTP 协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供 HTTP 接口就可以接入监控系统,不需要任何 SDK 或者其他的集成过程。这样做非常适合虚拟化环境比如 VM 或者 Docker 。Prometheus 应该是为数不多的适合 Docker、Kubernetes 环境的监控系统之一。

1.Prometheus 优势

  • 易于管理:
    Prometheus核心部分只有一个单独的二进制文件,不存在任何的第三方依赖(数据库,缓存等等);唯一需要的就是本地磁盘,因此不会有潜在级联故障的风险。
  • 强大的查询语言 PromQL:
    Prometheus 内置一个强大的数据查询语言 PromQL,通过 PromQL 可以实现对监控数据的查询、聚合。同时 PromQL 也被应用于数据可视化(如 Grafana)以及告警中。
  • 高效:
    对于监控系统而言,大量的监控任务必然导致有大量的数据产生。而 Prometheus 可以高效的处理这些数据。
  • 可扩展:
    Prometheus 支持联邦集群,可以让多个 Prometheus 实例产生一个逻辑集群;当单实例 Prometheus 处理的任务量过大时,通过使用功能分区(sharding)+ 联邦集群(federation)可以对其进行扩展。
  • 可视化:

Prometheus Server 自带一个 UI,通过这个 UI 可以方便对数据进行查询和图形化展示;同时还可以对接 Grafana 可视化工具展示精美图形

2.Prometheus 基础架构

如下图,Prometheus 主要由以下部分组成:

Prometheus:主要是负责存储、抓取、聚合、查询方面。

Alertemanager:主要是负责实现报警功能。

Pushgateway:主要是实现接收有 Client-push 过来的指标数据,在指定的时间间隔,有主程序来抓取。

*_exporter:主要是负责采集物理机、中间件的信息。

实验环境:

IP地址
Prometheus+Grafana------Server1192.168.216.217
被监控服务器192.168.216.108
客户机192.168.216.*

部署Prometheus+钉钉报警

普罗米修斯(Prometheus),通常指的是一种开源的监控和警报工具。

Prometheus是一个功能强大且灵活的系统监控工具,旨在帮助用户了解其应用程序和基础架构的健康状况。它能够收集和存储时间序列数据,例如服务器的CPU使用率、内存消耗、网络流量等。

Prometheus不仅能够提供实时的监控数据,还能够分析和查询这些数据,以便用户可以深入了解系统的性能和行为。它提供了一种强大的查询语言(PromQL),使用户能够编写灵活的查询,从而获取所需的数据。

此外,Prometheus还提供了灵活的警报功能,允许用户定义规则和条件,并在达到特定状态时发送警报通知。这使得用户能够及时采取行动以解决潜在的问题。

另外,Prometheus还支持与其他工具的集成,例如Grafana,用于创建仪表盘和图表,以更加可视化地展示监控数据。

  1. 安装Prometheus的go环境
    注:关闭防火墙,或着打开对应端口
    go环境的部署:
    将go1.8.3.linux-amd64.tar.gz安装包下载或者传输到服务器中
    mv /tmp/VMwareDnD/0eea1a03/go1.8.3.linux-amd64.tar.gz ///将go1.8.3.linux-amd64.tar.gz安装包放在根目录下。
    cd /
    ls tar zxvf go1.8.3.linux-amd64.tar.gz -C /usr/local///将go1.8.3.linux-amd64.tar.gz解压到/usr/local目录下。
    vim /etc/profile
    ....
    export PATH=$PATH:/usr/local/go/bin//添加环境变量中,方便Prometheus的安装
    source /etc/profile//刷新环境配置文件
  2. 安装Prometheus

#获取安装包

mv /tmp/VMwareDnD/0eea1a03/prometheus-2.36.0.linux-amd64.tar.gz /

#解压安装包到/usr/local目录下

tar zxvf prometheus-2.36.0.linux-amd64.tar.gz -C /usr/local/

#对解压文件进行重命名

mv prometheus-2.36.0.linux-amd64/ prometheus

#添加system托管

vim /usr/lib/systemd/system/prometheus.service

[Unit]

Description=prometheus.io

[Service]

Restart=on-failure

ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml//注意查看文件位置是否一致

[Install]

WantedBy=multi-user.target

#启动 prometheus服务

systemctl daemon-reload //刷新重新加载 Systemd 守护程序的命令。(就是刷新托管系统)

systemctl start prometheus//启动prometheus服务

systemctl status prometheus.service//查看prometheus服务的托管状态

ss -anpt |grep 9090//查看对应端口

验证:prometheus服务192.168.216.217:9090

3、添加监控节点

添加一个软件包可以随意添加到任意一台服务器

node_exporter:是一个用于收集和暴露主机级别指标的组件,可与 Prometheus 监控系统集成,帮助你监控和分析主机的性能和资源使用情况。

Node Exporter 主要用于主机级别的监控,而 Process Exporter 则专注于进程级别的监控。

#下载或者传输

找不到了 淦

#解压文件到/etc/local目录下

tar -zxf node_exporter-0.17.0.linux-amd64.tar.gz -C /usr/local/

#添加system托管文件

vim /usr/lib/systemd/system/node-export.service

[Unit]

Description=node_exporter

Documentation=prometheus.io/

After=network.target

[Service]

ExecStart=/usr/local/node_exporter/node_exporter

Restart=on-failure

RestartSec=20

[Install]

WantedBy=multi-user.target

#启动node-export服务

systemctl daemon-reload //加载系统配置文件

systemctl start node-export.service //启动程序

ss -anpt | grep 9100 //验证端口是否开启,服务时候正常

#在prometheus服务器的主配置文件中添加node-exporter的信息

(现在切换到prometheus服务器上,对prometheus服务器的主配置文件进行添加)

vim /usr/local/prometheus/prometheus.yml

......

- job_name: "prometheus"//在最后添加

# metrics_path defaults to '/metrics'//这俩行是注释

# scheme defaults to 'http'.//同上

static_configs:

- targets: ["localhost:9090"]//通过node-exporter监听本机的信息

- targets: ["localhost:9100"]//同上

- job_name: "主机节点"

static_configs:

- targets: ["192.168.216.108:9100"]//通过node-exporter监听192.168.216.108网段的信息

4、安装grafana,图形化界面

通常安装在prometheus上

#下载grafana

wget dl.grafana.com/oss/rele

yum localinstall grafana-5.3.4-1.x86_64.rpm

#直接添加系统服务

/sbin/chkconfig --add grafana-server

service grafana-server start//可以用这个启动

systemctl status grafana-server//查看服务的状态

#对接prometheus

添加模版

9276——主机信息模版

249——监控进称

导入数据源

5、安装进程监控

Process Exporter 是一个用于收集和暴露系统进程级别指标的组件,可以与 Prometheus 监控系统配合使用,帮助你监控和分析系统中每个进程的资源使用情况。

Node Exporter 主要用于主机级别的监控,而 Process Exporter 则专注于进程级别的监控。

#解压文件到/usr/local目录下面

tar -zxf process-exporter-0.7.5.linux-amd64.tar.gz -C /usr/local/

#给文件重命名

mv process-exporter-0.7.5.linux-amd64 process-exporter/

#进程监控的yaml文件的创建与编写

cd /usr/local/process-exporter

vim process.yaml

process_names:

- name: "{{.Matches}}"

cmdline:

- '服务名'

#添加system托管

vim /usr/lib/systemd/system/process_exporter.service

[Unit]

Description=Prometheus exporter for processors metrics, written in Go


路过

雷人

握手

鲜花

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

这个人很懒,什么也没留下...
粉丝0 阅读1066 回复0
上一篇:
建筑专业可以转行学云计算吗?发布时间:2021-01-27
下一篇:
如何入门云计算,学习经验分享发布时间:2020-12-28
关注我们
码尚云云计算培训

客服电话:18710061913

周一至周日: 7:00-24:00

码尚云教育( 陕ICP备2023009934号-2 )

Powered by Discuz! X3.4© 2016-2023 Comsenz Inc.