prometheus

普罗米修斯是一个开源系统 最初在 SoundCloud 上构建的监控和警报工具包。自2012年成立以来,许多 公司和组织都采用了普罗米修斯,该项目具有非常 活跃的开发人员和用户社区。它现在是一个独立的开源项目 并独立于任何公司进行维护。强调这一点,并澄清 该项目的治理结构,Prometheus于2016年加入云原生计算基金会 作为继 Kubernetes 之后的第二个托管项目。

特点

  • 具有由指标名称和键/值对标识的时间序列数据的多维数据模型
  • PromQL,一种灵活的查询语言,可利用此维度
  • 不依赖分布式存储;单服务器节点是自治的
  • 时序收集通过 HTTP 上的拉取模型进行
  • 通过中间网关支持推送时间序列
  • 通过服务发现或静态配置发现目标
  • 多种图形和仪表板支持模式

组件及其架构

  • 采集数据:exporter pushgateway 中间件(代理)
  • 存储数据:tsdb
  • 提供数据:http server
  • 显示数据:grafana
  • 告警、报警:alertmanager

在这里插入图片描述

在linux中部署prometheus

初始环境

下载地址:https://prometheus.io/download/

# 首先需要在prometheus官网去拉取安装包并且解压
[root@prometheus prometheus]# ls
prometheus-2.34.0.linux-amd64.tar.gz
[root@prometheus prometheus]# tar xf prometheus-2.34.0.linux-amd64.tar.gz
[root@prometheus prometheus]# ls
prometheus-2.34.0.linux-amd64  prometheus-2.34.0.linux-amd64.tar.gz

部署步骤

1、进入prometheus-2.34.0.linux-amd64文件夹启动prometheus

# 后台启动prometheus
[root@prometheus prometheus-2.34.0.linux-amd64]# nohup prometheus --config.file=/prometheus/prometheus-2.34.0.linux-amd64/prometheus.yml &
[1] 2383
[root@prometheus prometheus-2.34.0.linux-amd64]# nohup: ignoring input and appending output to ‘nohup.out’

2、查看promethues的状态

# 查看promethues是否运行
[root@prometheus prometheus-2.34.0.linux-amd64]# ps aux | grep prometheus
root       2383  0.2  4.3 782084 42916 pts/0    Sl   04:53   0:00 prometheus --config.file=/prometheus/prometheus-2.34.0.linux-amd64/prometheus.yml
root       2402  0.0  0.0 112808   968 pts/0    R+   04:54   0:00 grep --color=auto prometheus

# prometheus默认监听9090端口
[root@prometheus prometheus-2.34.0.linux-amd64]# netstat -anplut | grep prometheus
tcp6       0      0 :::9090                 :::*                    LISTEN      2383/prometheus     
tcp6       0      0 ::1:9090                ::1:34326               ESTABLISHED 2383/prometheus     
tcp6       0      0 ::1:34326               ::1:9090                ESTABLISHED 2383/prometheus  

3、将prometheus做成一个服务来进行管理,非常方便

# 在/lib/systemd/system创建prometheus.service且开启服务
[root@prometheus system]# cat prometheus.service
[Unit]
Description=prometheus
[Service]
ExecStart=/prometheus/prometheus-2.34.0.linux-amd64/prometheus --config.file=/prometheus/prometheus-2.34.0.linux-amd64/prometheus.yml
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target

# 重新加载systemd相关的服务
[root@prometheus system]# systemctl daemon-reload

4、注意

将prometheus做成服务时,第一次因为使用的是nohup方式启动的prometheus,还是需要使用kill的方式杀死第一次启动的进程,后面就可以使用systemctl或者service方式管理prometheus了。

5、开启prometheus服务后的命令

systemctl start prometheus		开启prometheus
systemctl stop prometheus		停止prometheus
systemctl restart prometheus	重启prometheus
systemctl enable prometheus		开机自启prometheus
systemctl disable prometheus	开机永远不开启prometheus
systemctl status prometheus		查看prometheus的状态

访问prometheus

在这里插入图片描述
prometheus部署成功!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐