Prometheus安装

本篇文章是关于Prometheus的安装与启动的命令汇总。详情可以参考官方文档。Prometheus官网介绍

环境准备

如Linux环境已经准备好,可以跳过本部分。
如无环境,请参考 CentOS7环境搭建

下载Prometheus

下载 Prometheus;通常选择x86_64版本,复制右边链接地址。 prometheus-2.23.0.linux-amd64.tar.gz
选择amd64
下载到服务器本地:

wget https://github.com/prometheus/prometheus/releases/download/v2.23.0/prometheus-2.23.0.linux-amd64.tar.gz
#查看下载目录
ll
#看到下面文件,说明下载成功
-rw-r–r--. 1 root root 64298432 Nov 26 20:52 prometheus-2.23.0.linux-amd64.tar.gz

安装Prometheus

#解压安装包
tar xvfz prometheus-2.23.0.linux-amd64.tar.gz
#进入包目录
cd prometheus-2.23.0.linux-amd64
#查看当前目录文件
ll

#目录内容
drwxr-xr-x. 2 3434 3434 38 Nov 26 20:47 console_libraries
drwxr-xr-x. 2 3434 3434 173 Nov 26 20:47 consoles
-rw-r–r--. 1 3434 3434 11357 Nov 26 20:47 LICENSE
-rw-r–r--. 1 3434 3434 3420 Nov 26 20:47 NOTICE
-rwxr-xr-x. 1 3434 3434 88153522 Nov 26 18:58 prometheus
-rw-r–r--. 1 3434 3434 926 Nov 26 20:47 prometheus.yml
-rwxr-xr-x. 1 3434 3434 78172790 Nov 26 19:00 promtool

查看Prometheus监控配置方法,我们找到prometheus.yml文件。

#编辑配置文件
vim prometheus.yml

# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']

退出编辑模式

#Press shift + ;
#输入q 或者 q!
:q

启动Prometheus

#启动
./prometheus --config.file=prometheus.yml
#查看Prometheus监听端口是否正常启动
netstat -anplut | grep prometheus
#结果如下,正在监听9090端口
tcp6 0 0 :::9090 ::😗 LISTEN 10045/./prometheus
tcp6 0 0 ::1:9090 ::1:60118 ESTABLISHED 10045/./prometheus
tcp6 0 0 ::1:60118 ::1:9090 ESTABLISHED 10045/./prometheus

开通防火墙

firewall-cmd --permanent --add-port=9090/tcp
firewall-cmd --reload

打开Prometheus

打开浏览器,输入 服务器ip:9090
在这里插入图片描述

Prometheus安装完毕。

常用命令

进入到Prometheus目录

cd /root/prometheus-2.23.0.linux-amd64
启动配置
./prometheus --config.file=prometheus.ymlvim prometheus.yml

SystemD管理Prometheus

将Prometheus文件挪到 /usr/local/prometheus/下面。

mkdir /usr/local/prometheus
mv /root/prometheus-2.23.0.linux-amd64/* /usr/local/prometheus/
cd /usr/local/prometheus
ll
mkdir -p /var/prometheus/data

添加用户

groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus

赋权和创建prometheus运行数据目录

chown -R prometheus:prometheus /usr/local/prometheus/
chown -R prometheus:prometheus /var/prometheus/data

设置开机启动

#创建服务文件
touch /usr/lib/systemd/system/prometheus.service
#修改文件权限
chown prometheus:prometheus /usr/lib/systemd/system/prometheus.service
#编辑文件
vim /usr/lib/systemd/system/prometheus.service

将下面内容粘贴到prometheus.service文件中。

[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target

 
[Service]
# Type设置为notify时,服务会不断重启
Type=simple
User=prometheus
# --storage.tsdb.path是可选项,默认数据目录在运行目录的./dada目录中

ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/var/prometheus/data

Restart=on-failure

[Install]
WantedBy=multi-user.target

编辑完成后保存退出。

systemctl daemon-reload
systemctl enable prometheus
systemctl start prometheus

完成Prometheus开机启动配置。

Prometheus数据流

Prometheus需要作为一个数据源,添加到Grafana上,用来更好的用Dashboard展示被监控对象的性能指标,状态等等。此外,还有Prometheus的各个组件,例如Alert Manager, 中间件Exporter,Query_Exporter等等。

简单架构-抽象数据流:

Metrics Data
Alerts
Notification
Notification
Metrics
Dashboard
Prometheus
Grafana
Alert Manager
Mail Server
Node_Exporter
User

除了以上简单架构,还可以采用多实例,Pull+Push,负载均衡的高可用架构。需要用到Nginx, Thanos, MINIO, HAProxy, Push Gateway 等等。

擅长Python,Go 语言的,可以自己开发一些Prometheus exporter,来定制一些监控需求。

业务监控数据流

当业务数据存在关系型数据库,如Oracle,可以用Query_Exporter来链接Oracle数据库,配置SQL Selects语句,实现对数据库的查询,以及在Grafana Dashboard上的展示。

Metrics Data
Alerts
Notification
Notification
Metrics
Dashboard
SQL Selects
Prometheus
Grafana
Alert Manager
Mail Server
Query_Exporter
User
业务数据库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值