文章目录

  • Prometheus
  • 部署Prometheus服务器
  • 查看监控页面
  • 添加被监控端
  • 部署通用的监控exporter
  • grafana可视化
  • 部署grafana
  • 展示work01的监控信息


Prometheus

  • 也是一款监控软件,也是一个时序数据库。
  • 主要用在容器监控方面,也可以用于常规的主机监控。
  • 使用google公司开发的go语言编写。
  • Prometheus是一个框架,可以与其他组件完美结合。

grafana go 模版 grafana教程_grafana

部署Prometheus服务器

  • prometheus:192.168.3.75
  • 被控端work01:192.168.3.76
# prometheus是经过编译后的go语言程序,相当于绿色软件,解压即用
[root@master prometheus_soft]# tar xf prometheus-2.38.0.linux-amd64.tar.gz 
[root@master prometheus_soft]# mv prometheus-2.38.0.linux-amd64 /usr/local/prometheus

# 修改配置文件
[root@master ~]# vim /usr/local/prometheus/prometheus.yml
 29     - targets: ['192.168.3.75:9090']

# 注意:prometheus主机的时间需要与真机时间一致,如果不一致,修改时间
[root@master ~]# date -s "20220921 10:21:00"

# 检查语法
[root@master ~]# /usr/local/prometheus/promtool check config /usr/local/prometheus/prometheus.yml 
Checking /usr/local/prometheus/prometheus.yml
  SUCCESS: 0 rule files found

# 创建服务文件
[root@master ~]# vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus Monitoring System
After=network.target

[Service]
ExecStart=/usr/local/prometheus/prometheus \
  --config.file=/usr/local/prometheus/prometheus.yml \
  --storage.tsdb.path=/usr/local/prometheus/data/

[Install]
WantedBy=multi-user.target

# 启服务
[root@master ~]# systemctl daemon-reload 
[root@master ~]# systemctl enable prometheus.service --now
[root@master ~]# ss -tlnp | grep :9090
LISTEN     0      128         :::9090
查看监控页面
  • 访问http://192.168.3.75:9090

grafana go 模版 grafana教程_grafana go 模版_02

  • 被监控的对象称为targets

grafana go 模版 grafana教程_grafana_03

prometheus已经在监控自己了

grafana go 模版 grafana教程_服务器_04

查看监控图像:

grafana go 模版 grafana教程_服务器_05

添加需要查看的监控项:

grafana go 模版 grafana教程_vim_06

查看监控项的图形信息:

grafana go 模版 grafana教程_grafana_07

grafana go 模版 grafana教程_prometheus_08

添加被监控端

  • 监控方式:
  • 拉取:pull。监控端联系被监控端,采集数据
  • 推送:push。被监控端主动把数据发给监控端。在prometheus中,push的方式需要额外的组件pushgateway
  • 被监控端根据自身运行的服务,可以运行不同的exporter(被监控端安装的、可以与Prometheus通信,实现数据传递的软件)
  • exporter列表:https://prometheus.io/docs/instrumenting/exporters/
部署通用的监控exporter
  • node-exporter用于监控硬件和系统的常用指标
  • exporter运行于被监控端,以服务的形式存在。每个exporter所使用的端口号都不一样。
  • 在work01[192.168.3.76]上部署node exporter
# 部署
[root@work01 ~]# tar xf node_exporter-1.4.0-rc.0.linux-amd64.tar.gz 
[root@work01 ~]# mv node_exporter-1.4.0-rc.0.linux-amd64 /usr/local/node_exporter

[root@work01 ~]# vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target

[root@work01 ~]# systemctl daemon-reload 
[root@work01 ~]# systemctl enable node_exporter.service --now
[root@work01 ~]# ss -tlnp | grep :9100
LISTEN     0      128         :::9100
  • 在master服务器上添加监控节点
# 在配置文件中追加以下内容。特别注意缩进
[root@master ~]# vim /usr/local/prometheus/prometheus.yml 
  - job_name: 'work01'
    static_configs:
    - targets: ['192.168.3.76:9100']
[root@master ~]# systemctl restart prometheus.service

查看结果:

grafana go 模版 grafana教程_grafana_09

  • 查看work01节点的1分钟平均负载

grafana go 模版 grafana教程_prometheus_10

grafana go 模版 grafana教程_服务器_11

grafana可视化

  • grafana是一款开源的、跨平台的、基于web的可视化工具
  • 展示方式:客户端图表、面板插件
  • 数据源可以来自于各种源,如prometheus

部署grafana

  • 装包、启服务
[root@master ~]# wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.1.6-1.x86_64.rpm
[root@master ~]# ls
grafana-enterprise-9.1.6-1.x86_64.rpm
[root@master ~]# yum install -y grafana-enterprise-9.1.6-1.x86_64.rpm
[root@master ~]# systemctl enable grafana-server.service --now
  • 修改配置,对接prometheus

访问http://192.168.3.75:3000。初始用户名和密码都是admin。第一次登陆时,要求改密码。

grafana go 模版 grafana教程_vim_12

对接数据的步骤:

  1. 添加数据源
  2. 为数据展示选择展示方式(dashboard仪表盘)
  3. 查看结果

grafana go 模版 grafana教程_prometheus_13

grafana go 模版 grafana教程_grafana_14


grafana go 模版 grafana教程_prometheus_15

grafana go 模版 grafana教程_prometheus_16

选择展示方式。导入模板文件,展示不同主题风格。

grafana go 模版 grafana教程_grafana_17

grafana go 模版 grafana教程_prometheus_18


grafana go 模版 grafana教程_grafana_19

grafana go 模版 grafana教程_grafana_20

查看结果:

grafana go 模版 grafana教程_grafana go 模版_21

展示work01的监控信息

  • grafana模板下载:https://grafana.com/grafana/dashboards/
  • 导入主机监控模板

grafana go 模版 grafana教程_grafana_22


grafana go 模版 grafana教程_服务器_23


grafana go 模版 grafana教程_grafana_24


grafana go 模版 grafana教程_prometheus_25