Prometheus介绍
1、Prometheus 灵感来源与Google的Borgmon,主要用于近实时、基于动态云环境、容器的微服务、应用程序的监控。 Prometheus专注于当下正在发生的各类数据,而不是追踪数周以前的数据,因为他们认为“大多数监控查询以及告警等都是一天内的数据”,Facebook相关论文也验证了这一点:85%的时序查询是26小时之内的。
简单来概括,Prometheus是一个监控系统,并自带时序数据能力。
2、Prometheus是云原生计算基金会的一个项目,是一个系统和服务监控系统。它以给定的时间间隔从配置的目标收集指标,评估规则表达式,显示结果,并在观察到指定条件时触发警报。
将 Prometheus 与其他指标和监控系统区分开来的功能包括:
体系结构概述
prometheus 监控原理
1、prometheus :虽然说是监控平台,但是实际上是一套数据库
2、mysql_exporter: 可以理解成程序或者软件,他是工作在我们要监控的目标服务器上,主要是用于监控mysql的数据。
3、node_exporter: 他的作用主要是收集性能测试的数据,如cpu、内存磁盘网络等信息,然后将数据保存到prometheus,相当于将数据存入到数据库中。
4、prometheus 只能用于做数据存储,不能做展示,因此我们需要用到grafana组件。
5、grafana 主要是用于数据展示,并且可以做到定时读取数据
Prometheus部署
Prometheus下载地址
Grafana下载地址
基本环境
主机名称 | IP地址 | 安装服务 |
---|
master | 192.168.91.137 | prometheus | minion | 192.168.91.138 | node_exporter |
准备工作
关闭防火墙和selinux
[root@master ~]
[root@master ~]
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@master ~]
[root@master ~]
SELINUX=disabled
安装Prometheus
// 下载安装包
[root@master ~]
// 解压到/usr/local下
[root@master ~]
anaconda-ks.cfg prometheus-2.31.1.linux-amd64.tar.gz
[root@master ~]
[root@master ~]
[root@master local]
bin include libexec share
etc lib prometheus-2.31.1.linux-amd64 src
games lib64 sbin
// 重命名
[root@master local]
[root@master local]
bin games lib libexec sbin src
etc include lib64 prometheus share
启动服务
[root@localhost local]
[root@localhost prometheus]
LICENSE console_libraries prometheus promtool
NOTICE consoles prometheus.yml
[root@localhost prometheus]
查看端口
[root@localhost ~]
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 128 *:9090 *:*
web页面访问 浏览器打开192.168.91.137:9090端口即可打开Prometheus自带的监控页面
http://192.168.91.137:9090/metrics 查看监控数据
开始监控
准备工作
// 关闭防火墙和selinux
root@minion ~]
[root@minion ~]
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@minion ~]
[root@minion ~]
SELINUX=disabled
下载node_exporter安装包
[root@minion ~]
[root@minion ~]
anaconda-ks.cfg node_exporter-1.3.0.linux-amd64.tar.gz
// 解压
[root@minion ~]
[root@minion ~]
[root@minion local]
bin include libexec share
etc lib node_exporter-1.3.0.linux-amd64 src
games lib64 sbin
// 重命名
[root@minion local]
[root@minion local]
bin games lib libexec sbin src
etc include lib64 node_exporter share
// 启动服务
[root@minion local]
[root@minion node_exporter]
// 查看服务
[root@minion ~]
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 128 *:9100 *:*
在prometheus配置文件添加受控主机
[root@localhost local]
[root@localhost prometheus]
LICENSE console_libraries data prometheus.yml
NOTICE consoles prometheus promtool
[root@localhost prometheus]
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
- job_name: "amu1"
static_configs:
- targets: ["192.168.91.138:9100"]
服务重启
// 杀死进程,重新启动服务
[root@master prometheus]
[root@master prometheus]
重新访问web页面
安装grafana
// 下载rpm包
[root@master ~]
[root@master ~]
anaconda-ks.cfg
grafana-7.3.3-1.x86_64.rpm
prometheus-2.31.1.linux-amd64.tar.gz
[root@master ~]
// 启动服务
[root@master ~]
[root@master ~]
Synchronizing state of grafana-server.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable grafana-server
Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /usr/lib/systemd/system/grafana-server.service.
// 查看端口
[root@master ~]
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 128 *:3000 *:*
LISTEN 0 128 *:9090 *:*
web页面访问
浏览器打开 192.168.91.137:300 进入grafana界面 默认用户名密码都是 admin 初次登陆会提示修改密码
下面是重置密码界面
这是登录进去的界面 添加prometheus数据源 点击齿轮设置 的“Add data source” url框内 输入 http://192.168.91.137:9090
Dashboards页面选择“Prometheus 2.0 Stats”,然后保存
点击放大镜 搜索 点进去第一个“Prometheus 2.0 Stats”即可看到整个监控页面
|