Promethus(普罗米修斯)监控系统

这篇具有很好参考价值的文章主要介绍了Promethus(普罗米修斯)监控系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、普罗米修斯概述

Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。

Overview | Prometheus

二、时间序列数据

1、什么是序列数据

时间序列数据(TimeSeries Data) : 按照时间顺序记录系统、设备状态变化的数据被称为时序数据。

应用的场景很多, 如:

无人驾驶车辆运行中要记录的经度,纬度,速度,方向,旁边物体的距离等等。每时每刻都要将数据记录下来做分析。

某一个地区的各车辆的行驶轨迹数据

传统证券行业实时交易数据

实时运维监控数据等

2、时间序列数据特点

性能好

关系型数据库对于大规模数据的处理性能糟糕。NOSQL可以比较好的处理大规模数据,让依然比不上时间序列数据库。

存储成本低

高效的压缩算法,节省存储空间,有效降低IO

Prometheus有着非常高效的时间序列数据存储方法,每个采样数据仅仅占用3.5byte左右空间,上百万条时间序列,30秒间隔,保留60天,大概花了200多G(来自官方数据)

3、Prometheus的主要特征

多维度数据模型

灵活的查询语言

不依赖分布式存储,单个服务器节点是自主的

以HTTP方式,通过pull模型拉去时间序列数据

也可以通过中间网关支持push模型

通过服务发现或者静态配置,来发现目标服务对象

支持多种多样的图表和界面展示

4、普罗米修斯原理架构图

 普罗米修斯监控,开源软件,golang

三、环境准备

 普罗米修斯监控,开源软件,golang

  1. 静态ip(要求能上外网)
  1. 主机名

各自配置好主机名

hostnamectl set-hostname --static server.cluster.com

三台都互相绑定IP与主机名

vim /etc/hosts

10.1.1.13 server.cluster.com

10.1.1.14 agent1.cluster.com

10.1.1.15 grafana.cluster.com

  1. 时间同步(时间同步一定要确认一下)
  2. 关闭防火墙,selinux
  • systemctl stop firewalld
  • systemctl disable firewalld
  • iptables -F

1、安装prometheus

以下软件包的百度网盘地址

链接:https://pan.baidu.com/s/1UfjFiZJXYx6AUr0HEcjaiA

提取码:vc2n

从 https://prometheus.io/download/ 下载相应版本,安装到服务器上官网提供的是二进制版,解压就能用,不需要编译

[root@server ~]# tar xf prometheus-2.5.0.linux-amd64.tar.gz -C /usr/local/

[root@server ~]# mv /usr/local/prometheus-2.5.0.linux-amd64/ /usr/local/prometheus

直接使用默认配置文件启动

[root@server ~]# /usr/local/prometheus/prometheus

--config.file="/usr/local/prometheus/prometheus.yml" &

确认端口(9090)

[root@server ~]# lsof -i:9090

2、prometheus界面

通过浏览器访问http://服务器IP:9090就可以访问到prometheus的主界面

 普罗米修斯监控,开源软件,golang

 默认只监控了本机一台,点Status --》点Targets --》可以看到只监控了本机

  3、主机数据展示

通过http://服务器IP:9090/metrics可以查看到监控的数据 普罗米修斯监控,开源软件,golang

在web主界面可以通过关键字查询监控项普罗米修斯监控,开源软件,golang

4、监控远程Linux主机

① 在远程linux主机(被监控端agent1)上安装node_exporter组件

下载地址: Download | Prometheus

[root@agent1 ~]# tar xf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/

[root@agent1 ~]# mv /usr/local/node_exporter-0.16.0.linux-amd64/ /usr/local/node_exporter

里面就一个启动命令node_exporter,可以直接使用此命令启动

[root@agent1 ~]# ls /usr/local/node_exporter/

LICENSE node_exporter NOTICE

[root@agent1 ~]# nohup

/usr/local/node_exporter/node_exporter &

确认端口(9100)

[root@agent1 ~]# lsof -i:9100

扩展: nohup命令: 如果把启动node_exporter的终端给关闭,那么进程也会随之关闭。nohup命令会帮你解决这个问题。

② 通过浏览器访问http://被监控端IP:9100/metrics就可以查看到node_exporter在被监控端收集的监控信息普罗米修斯监控,开源软件,golang

③ 回到prometheus服务器的配置文件里添加被监控机器的配置段

在主配置文件最后加上下面三行

[root@server ~]# vim /usr/local/prometheus/prometheus.yml

- job_name: 'agent1' # 取一个job名称来代表被监控的机器

static_configs:

- targets: ['10.1.1.14:9100'] # 这里改成被监控机器的IP,后面端口接9100

改完配置文件后,重启服务

[root@server ~]# pkill prometheus

[root@server ~]# lsof -i:9090 # 确认端口没有进程占用

[root@server ~]# /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

[root@server ~]# lsof -i:9090 # 确认端口被占用,说明重启成功

④ 回到web管理界面 --》点Status --》点Targets --》可以看到多了一台监控目标普罗米修斯监控,开源软件,golang

5、监控远程MySQL

① 在被管理机agent1上安装mysqld_exporter组件

下载地址: Download | Prometheus

安装mysqld_exporter组件

[root@agent1 ~]# tar xf mysqld_exporter-0.11.0.linux-amd64.tar.gz -C /usr/local/

[root@agent1~]# mv /usr/local/mysqld_exporter-0.11.0.linux-amd64/ /usr/local/mysqld_exporter

[root@agent1 ~]# ls /usr/local/mysqld_exporter/

LICENSE mysqld_exporter NOTICE

安装mariadb数据库,并授权(若已安装mysql数据库可以跳过)

[root@agent1 ~]# yum install mariadb\* -y

[root@agent1 ~]# systemctl restart mariadb

[root@agent1 ~]# systemctl enable mariadb

[root@agent1 ~]# mysql

MariaDB [(none)]> grant select,replication client,process ON *.* to 'mysql_monitor'@'localhost' identified by '123'; (注意:授权ip为localhost,因为不是prometheus服务器来直接找mariadb获取数据,而是prometheus服务器找mysql_exporter,mysql_exporter再找mariadb。所以这个localhost是指的mysql_exporter的IP)

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> quit

创建一个mariadb配置文件,写上连接的用户名与密码(和上面的授权的用户名和密码要对应)

[root@agent1 ~]# vim /usr/local/mysqld_exporter/.my.cnf

[client]

user=mysql_monitor

password=123

启动mysqld_exporter

[root@agent1 ~]#

nohup

/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf &

确认端口(9104)

[root@agent1 ~]# lsof -i:9104

② 回到prometheus服务器的配置文件里添加被监控的mariadb的配置段

在主配置文件最后再加上下面三行

[root@server ~]# vim /usr/local/prometheus/prometheus.yml

- job_name: 'agent1_mariadb'

# 取一个job名称来代表被监控的mariadb

static_configs:

- targets: ['10.1.1.14:9104']

# 这里改成被监控机器的IP,后面端口接9104

改完配置文件后,重启服务

[root@server ~]# pkill prometheus

[root@server ~]# lsof -i:9090

[root@server ~]# /usr/local/prometheus/prometheus

--config.file="/usr/local/prometheus/prometheus.yml" &

[root@server ~]# lsof -i:9090

③ 回到web管理界面 --》点Status --》点Targets --》可以看到监控mariadb了普罗米修斯监控,开源软件,golang

四、Grafana可视化图形工具

1、什么是Grafana

Grafana是一个开源的度量分析和可视化工具,可以通过将采集的数据分析,查询,然后进行可视化的展示,并能实现报警。普罗米修斯监控,开源软件,golang

网址: Grafana: The open observability platform | Grafana Labs

2、使用Grafana连接Prometheus

① 在grafana服务器上安装grafana

下载地址:Download Grafana | Grafana Labs

我这里选择的rpm包,下载后直接rpm -ivh安装就OK

[root@grafana ~]# rpm -ivh /root/Desktop/grafana-5.3.4-1.x86_64.rpm -y

启动服务

[root@grafana ~]# systemctl start grafana-server

[root@grafana ~]# systemctl enable grafana-server

确认端口(3000)

[root@grafana ~]# lsof -i:3000

② 通过浏览器访问 http:// grafana服务器IP:3000就到了登录界面,使用默认的admin用户,admin密码就可以登陆了普罗米修斯监控,开源软件,golang

③ 下面我们把prometheus服务器收集的数据做为一个数据源添加到grafana,让grafana可以得到prometheus的数据。普罗米修斯监控,开源软件,golang

 普罗米修斯监控,开源软件,golang

④ 然后为添加好的数据源做图形显示普罗米修斯监控,开源软件,golang

 普罗米修斯监控,开源软件,golang

⑤ 保存普罗米修斯监控,开源软件,golang

⑥ 最后在dashboard可以查看到普罗米修斯监控,开源软件,golang

⑦ 匹配条件显示普罗米修斯监控,开源软件,golang文章来源地址https://www.toymoban.com/news/detail-780033.html

到了这里,关于Promethus(普罗米修斯)监控系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker 部署普罗米修斯监控

    Docker 部署普罗米修斯监控 介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控报警时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作。Google SRE的书内

    2024年02月12日
    浏览(22)
  • 监控之星-普罗米修斯Prometheus搭建

    Prometheus是一个开源系统监控和警报工具包,最初在 SoundCloud构建。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发者和用户社区。它现在是一个独立的开源项目,独立于任何公司维护。为了强调这一点,并明确项目的治理结构,Prometheus 于 2

    2024年02月08日
    浏览(40)
  • Docker的监控-Prometheus(普罗米修斯)

    docker top   #容器的动态进程 docker stats #列出每个容器的cpu、内存、io   docker logs  #查看容器日志  emerg  alert   crit  error  warning  notice  info  debug 一、sysdig  轻量级的系统监控程序 docker run -it --rm --name sysdig --privileged=true --volume=/var/run/docker.sock:/host/var/run/docker.sock --volume=

    2024年02月06日
    浏览(26)
  • Prometheus+Grafana普罗米修斯搭建+监控MySQL

    1.什么是Prometheus? ​ Prometheus 是 Cloud Native Computing Foundation 的一个监控系统项目, 集采集、监控、报警等特点于一体。 ​ Prometheus 主要受启发于 Google 的 Brogmon 监控系统, 从 2012 年开始由前 Google 工程师在 Soundcloud 以开源软件的形式进行研发, 2017 年底发布了基于全新存储层

    2024年02月08日
    浏览(41)
  • 【监控系统】Promethus监控SpringBoot微服务应用配置实战

    我们本节要实现的是Java服务级监控用于对每个应用占用的内存、线程池的线程数量、restful调用数量和响应时间、JVM状态、GC信息等进行监控,并可将指标信息同步至Prometheus中集中展示和报警。 首先我们先了解下什么是actuator? Spring Boot Actuator 模块提供了生产级别的功能,比

    2024年02月16日
    浏览(38)
  • 本地spingboot配置Promethus+granfana监控

    记录如何配置与启动 1.在搭建好的应用加上依赖 2.配置文件修改 【重要】配置项  management.metrics.tags  ,设置 Metrics 通用标签。这里,我们配置了一个通过用标签键为  application  ,值为  ${spring.application.name}  。我们来试着想下,应用 A 和应用 B 都有相同的 Metrics 名,那么如

    2023年04月27日
    浏览(22)
  • Prometheus监控添加监控mongodb+docker+MySQL8.0+服务器系统进程监控+域名过期时间监控

    环境: 192.168.1.144  Ubuntu系统已经部署好Prometheus监控部署教程请看本人前面的教程  192.168.1.140  centos7系统已安装docker+docker-compose 1、在被监控端以docker-compose方式安装mongodb mkdir /data/mangodb/ #创建mangodb的目录 cd /data/mangodb/ #进入目录下 2,写docker-compose.yaml文件 vim docker-compose.y

    2024年02月02日
    浏览(41)
  • 系统资源监控-Windows自带资源监控

    在性能测试过程中,往往需要对系统应用服务器,数据库服务器等服务端资源使用情况进行监控,以获取服务器性能数据,协助判断服务器性能是否满足性能需求;对于不同的服务器类型,监控服务器的方式也不尽相同,本篇我们主要来讲解对于Winsows 系的服务器的资源数据

    2024年02月09日
    浏览(33)
  • 系统性能监控-Windows自带性能监控器

    在性能测试过程中,往往需要对系统应用服务器,数据库服务器等服务端资源使用情况进行监控,以获取服务器性能数据,协助判断服务器性能是否满足性能需求;对于不同的服务器类型,监控服务器的方式也不尽相同,本篇我们主要来讲解对于Winsows 系的服务器的性能数据

    2024年02月10日
    浏览(33)
  • 分布式监控之Zabbix6.0监控系统一

    作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。 利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行浏览整个网站所有的服务器状态 可以在web前端方便的监

    2024年02月12日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包