CentOS7下简单搭建Prometheus+Grafana监控系统(上)

简介: CentOS7下简单搭建Prometheus+Grafana监控系统

640.jpg


Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud.


1、Features


Prometheus's main features are:

a multi-dimensional data model with time series data identified by metric name and key/value pairs

PromQL, a flexible query language to leverage this dimensionality

no reliance on distributed storage; single server nodes are autonomous

time series collection happens via a pull model over HTTP

pushing time series is supported via an intermediary gateway

targets are discovered via service discovery or static configuration

multiple modes of graphing and dashboarding support


2、Components


The Prometheus ecosystem consists of multiple components, many of which are optional:

the main Prometheus server which scrapes and stores time series data

client libraries for instrumenting application code

a push gateway for supporting short-lived jobs

special-purpose exporters for services like HAProxy, StatsD, Graphite, etc.

an alertmanager to handle alerts

various support tools

Most Prometheus components are written in Go, making them easy to build and deploy as static binaries.


3、Architecture


This diagram illustrates the architecture of Prometheus and some of its ecosystem components:

640.png


Prometheus scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts. Grafana or other API consumers can be used to visualize the collected data.


下面介绍CentOS7下简单搭建Prometheus+Grafana监控系统


1、先官网下载安装包

https://prometheus.io/download/
1)prometheus-2.17.2.linux-amd64.tar.gz
2)node_exporter-0.18.1.linux-amd64.tar.gz

640.png

grafana官网下载:https://grafana.com/grafana/download

3)https://dl.grafana.com/oss/release/grafana-6.7.3-1.x86_64.rpm


640.png


上传安装包到CentOS7服务器上

640.png


2、安装并配置prometheus服务端

groupadd prometheus
useradd -g prometheus -m -d /opt/prometheus/ -s /sbin/nologin prometheus
tar -zxf /data/prometheus-2.17.2.linux-amd64.tar.gz -C /opt
cd /opt/
mv prometheus-2.17.2.linux-amd64/* prometheus
cd prometheus
chown -R prometheus *

640.png

prometheus配置文件语法校验方法


./promtool check config prometheus.yml

640.png

先采用默认配置启动Prometheus Server

640.png


登录Prometheus Server的Web界面http://192.168.31.80:9090可以看到只有一个Targets:http://127.0.0.1:9090/metrics


640.png

设置Prometheus为系统服务,并配置为开机自启动

touch /usr/lib/systemd/system/prometheus.service
chown prometheus:prometheus /usr/lib/systemd/system/prometheus.service
vi /usr/lib/systemd/system/prometheus.service

并加入如下配置

[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus/prometheus.yml --web.enable-lifecycle --storage.tsdb.path=/opt/prometheus/data --storage.tsdb.retention=60d
Restart=on-failure
[Install]
WantedBy=multi-user.target

640.png

启动参数说明:


--config.file -- 指明prometheus的配置文件路径

--web.enable-lifecycle -- 指明prometheus配置更改后可以进行热加载

--storage.tsdb.path -- 指明监控数据存储路径

--storage.tsdb.retention --指明数据保留时间


启动服务,并设置为开机自启动

systemctl daemon-reload
systemctl enable prometheus.service
systemctl start prometheus.service 
systemctl status prometheus.service

640.png

可以看到已经报错了,服务未正常启动


排错


/opt/prometheus下data目录属主不对导致


解决办法:chown -R prometheus:prometheus *


640.png


3、安装node_exporter


比如就在该服务器上安装node_exporter

cd /data
tar -zxf node_exporter-0.18.1.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/
mv node_exporter-0.18.1.linux-amd64 node_exporter
cd node_exporter/
ll -trh

640.png

创建系统服务

touch /usr/lib/systemd/system/node_exporter.service 
chown prometheus:prometheus /usr/lib/systemd/system/node_exporter.service 
chown -R prometheus:prometheus /usr/local/node_exporter* 
vi /usr/lib/systemd/system/node_exporter.service

加入如下行

[Unit]
Description=node_exporter
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target

640.png

相关文章
|
9月前
|
Prometheus 监控 Cloud Native
云原生监控实战:Prometheus+Grafana快速搭建指南
云原生监控实战:Prometheus+Grafana快速搭建指南
|
9月前
|
存储 Prometheus 监控
OSS监控体系搭建:Prometheus+Grafana实时监控流量、错误码、存储量(开源方案替代云监控自定义视图)
本方案基于Prometheus构建OSS监控系统,涵盖架构设计、指标采集、可视化、告警及性能优化,助力企业实现高可用、低成本的自建监控体系。
891 1
|
10月前
|
Prometheus 监控 Cloud Native
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
811 79
|
9月前
|
存储 监控 Cloud Native
云原生监控实战:Prometheus+Grafana打造RDS多维度预警体系
本方案构建了基于Prometheus与Thanos的云原生RDS监控体系,涵盖数据采集、存储、可视化与告警全流程。支持10万+QPS采集、90%存储压缩,具备<30秒告警延迟能力。通过自定义指标与智能预警策略,显著提升故障发现效率,实现分钟级响应。
664 5
|
存储 前端开发 数据可视化
Grafana Loki,轻量级日志系统
本文介绍了基于Grafana、Loki和Alloy构建的轻量级日志系统。Loki是一个由Grafana Labs开发的日志聚合系统,具备高可用性和多租户支持,专注于日志而非指标,通过标签索引而非内容索引实现高效存储。Alloy则是用于收集和转发日志至Loki的强大工具。文章详细描述了系统的架构、组件及其工作流程,并提供了快速搭建指南,包括准备步骤、部署命令及验证方法。此外,还展示了如何使用Grafana查看日志,以及一些基本的LogQL查询示例。最后,作者探讨了Loki架构的独特之处,提出了“巨型单体模块化”的概念,即一个应用既可单体部署也可分布式部署,整体协同实现全部功能。
4892 69
Grafana Loki,轻量级日志系统
|
9月前
|
Prometheus 监控 Cloud Native
|
8月前
|
Prometheus 监控 Cloud Native
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务实现步骤
748 0
|
11月前
|
Prometheus 监控 Cloud Native
Prometheus+Grafana(docker安装)
本文档详细介绍了如何使用Docker容器快速部署Prometheus监控系统和Grafana数据可视化平台。该方案适用于需要快速搭建监控环境的开发测试场景,具备部署简单、资源占用低、易于维护等特点。
|
12月前
|
Prometheus Kubernetes 监控
Kubernetes监控:Prometheus与AlertManager结合,配置邮件告警。
完成这些步骤之后,您就拥有了一个可以用邮件通知你的Kubernetes监控解决方案了。当然,所有的这些配置都需要相互照应,还要对你的Kubernetes集群状况有深入的了解。希望这份指南能帮助你创建出适合自己场景的监控系统,让你在首次发现问题时就能做出响应。
709 22
|
数据可视化 Linux
centos7配置Grafana镜像
centos7配置Grafana镜像
centos7配置Grafana镜像

推荐镜像

更多