前言
之前我们有用到top、free、iostat等等命令,去监控服务器的性能,但是这些命令,我们只针对单台服务器进行监控,通常我们线上都是一个集群的项目,难道我们需要每一台服务器都去敲命令监控吗?这样显然不是符合逻辑的,Linux中就提供了一个集群监控工具 – prometheus。
prometheus 监控原理
1、prometheus :虽然说是监控平台,但是实际上是一套数据库
2、mysql_exporter: 可以理解成程序或者软件,他是工作在我们要监控的目标服务器上,主要是用于监控mysql的数据。
3、node_exporter: 他的作用主要是收集性能测试的数据,如cpu、内存磁盘网络等信息,然后将数据保存到prometheus,相当于将数据存入到数据库中。
4、prometheus 只能用于做数据存储,不能做展示,因此我们需要用到grafana组件。
5、grafana 主要是用于数据展示,并且可以做到定时读取数据
下载docker镜像
docker pull prom/node-exporter
docker pull prom/prometheus
docker pull grafana/grafana
启动监控Linux的exporter
docker run -d -p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
prom/node-exporter
exporter测试访问地址
http://localhost:9100/metrics
我们可以看到启动exporter已经成功啦
部署prometheus
首先我们需要创建存放prometheus的文件目录
mkdir /opt/prometheus
cd /opt/prometheus/
vim prometheus.yml
配置peometheus.yml
global:
scrape_interval:60s
evaluation_interval:60s
scrape_configs:- job_name: prometheus
static_configs:- targets:['localhost:9090']
labels:
instance: prometheus
- job_name: linux
static_configs:- targets:['192.168.31.44':9100']
labels:
instance: linux
这里要特别说明下,这里涉及一个坑点,小编我就猜坑了,特此记录下
。
`在scrape_configs配置项下添加Linux监控的job,其中node_expore的IP千万不要使用localhost,因为使用localhost或者127.0.0.1都是去访问普罗米修斯容器的本身;就会报node_exporter 提示错误 Get “http://localhost:9100/metrics 20”: dial tcp 127.0.0.1:9100: connect: connection refused的错误
点击上图的url ,跳转的地址也是不正确的
要使用宿主机的IP+端口,就成功解决报错问题啦
- job_name: linux
static_configs:- targets:['192.168.31.44':9100']
labels:
instance: linux
启动prometheus(将docker的配置文件映射到部署服务器)
docker run -d \
-p 9090:9090 \
-v /Users/qiao/opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
prometheus测试访问地址
http://192.168.31.44:9090/graph
- 1.点击菜单栏“Status-Targets”,看到页面中有如下node节点,代表prometheus和node_exporter链接成功,
- 2.这里可以看到,/opt/prometheus/prometheus.yml 中的 2 个 job 都已经 UP
配置 grafana 仪表盘
1.在浏览器访问:http://{ip}:3000/
2.输入用户名/密码:admin/admin登录 ,首次会让你设置密码。如果不设置的话,可以直接点击skip
3.登录之后,会显示下面的页面,点击添加数据源
选择prometheus
直接添加监控的服务器ip+端口号,我们之前配置的是默认端口9090,添加点击保存即可,其他的都可以不填。
点击左边那个 + ,选择 import,
输入一个大家推荐的 dashboard ID : 1860 ,直接 locad ,就可以看到效果了!
我们也可以导入监控模板
打开 grafana 官网,查找官网提供的 prometheus 监控模板
链接: https://grafana.com/grafana/dashboards.
点击 Linux 服务器监控的中文模板,记录该模板的 id:8919
将数据更新频率设置为 5s,展示最近 5 分钟的数据,就可以看到实时的、最近 5 分钟的各项性能指标。包含了 CPU、Load、内存、网络、磁盘、IO 耗时等指标。监控数据永久保存,可以随时查看任意时间点内的历史统计数据,非常方便。
版权归原作者 是阿俏同学吖 所有, 如有侵权,请联系我们删除。