Prometheus具备了一套比较完善的监控生态解决方案,同时它也是一个时序的数据库。它的整体架构图如下所示。
Prometheus是使用Go语言编写,所以完全的拥抱云原生,通过二进制的方式直接可以启动,当然也可以通过Docker的模式来进行启动和部署。如上的Prometheus整体架构图中可以看到Prometheus是由Prometheus Server,AlertManager,Dashboard等核心模块来组成,通过它可以监控Linux,MySQL等各个中间件的资源。下面详细的阐述下Prometheus环境的搭建以及与Grafana整合后监控Linux的系统资源。
在https://github.com/prometheus/prometheus/releases/下载prometheus-2.31.1.linux-amd64.tar.gz,把prometheus-2.31.1.linux-amd64.tar.gz移动到/usr/local的目录下进行解压,解压后它的目录为:
代码语言:javascript复制drwxr-xr-x 2 3434 3434 4096 Nov 6 04:42 console_libraries
drwxr-xr-x 2 3434 3434 4096 Nov 6 04:42 consoles
-rw-r--r-- 1 3434 3434 11357 Nov 6 04:42 LICENSE
-rw-r--r-- 1 3434 3434 3646 Nov 6 04:42 NOTICE
-rwxr-xr-x 1 3434 3434 100985353 Nov 6 04:38 prometheus
-rw-r--r-- 1 3434 3434 934 Nov 6 04:42 prometheus.yml
-rwxr-xr-x 1 3434 3434 90409996 Nov 6 04:41 promtool
下面详细的说下prometheus.yml的配置文件的各个部分,主要是全局配置文件,以及报警配置和报警规则配置,以及采集任务设置。如下部分是显示的全局配置文件的部分,主要是采集资源的信息时间以及告警时间,具体如下:
代码语言:javascript复制global:
scrape_interval: 15s # 采集抓取间隔的时间
evaluation_interval: 15s # 触发告警检测的时间
# scrape_timeout is set to the global default (10s).
第二部分是报警配置,报警配置部分主要是针对AlertManager的配置,具体配置信息如下:
代码语言:javascript复制# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
下来部分是采集任务设置,也就是说采集的数据源头,比如需要监控101.43.158.84云服务器的资源,那么就需要在采集任务设置中配置它的采集资源的地址信息,具体配置如下:
代码语言:javascript复制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: ["47.95.142.233:9090"]
#监控Linux资源
- job_name: "云服务器Linux"
static_configs:
- targets: ["101.43.158.84:9100"]
完善好prometheus.yml的配置信息后,下来直接可以启动prometheus,启动的方式是在prometheus后的目录中,直接运行命令:./prometheus,启动后在浏览器中访问http://47.95.142.233:9090/graph就会显示Prometheus的主页信息,具体如图所示。
Prometheus需要监控Linux的系统资源,首先需要下载node_exporter-1.2.2.linux-amd64.tar.gz的文件,下载成功后解压的目录信息为:
代码语言:javascript复制|-- LICENSE
|-- node_exporter
`-- NOTICE
0 directories, 3 files
把该文件下载到101.43.158.84的云服务器上,然后使用命令:./node_exporter来进行启动,启动成功后就会在Prometheus的Targets中显示up的状态,具体如图所示。
下来可以验证下Prometheus是否采集到数据,输入node_cpu_seconds_total点击Execute,就可以看到采集到的信息,具体如下所示。
下来启动Grafana的服务,使用的模板ID是https://grafana.com/grafana/dashboards/12633,直接在Grafana中导入,就可以看到被监控的Linux系统资源了,具体如下所示。
如上图可以看到能够监控Linux的系统资源,而这些系统资源在做性能测试的时候可以作为被监控和收集的数据之一。感谢您的阅读,后续会持续更新!