Grafana+Prometheus构建强大的监控系统-保姆级教程[监控linux、oracle]

news2024/10/6 18:24:19

什么是Grafana?

Grafana是一个开源软件,拥有丰富的指标仪表盘和图形编辑器,适用Prometheus、Graphite、Elasticsearch、OpenTSDB、InfluxDB、redis。。。简单点说就是一套开源WEB可视化平台。通过对数据库数据二次提取,做出好看的图形化界面。

官网地址:https://grafana.com/

Prometheus是什么?

Prometheus是一个开源的时序数据库。由指标名称和和键/值对标签标识的时间序列数据组成的多维数据模型。

官网地址:https://prometheus.io/

本教程涵盖 linux基础监控、oracle数据库监控、redis基础监控、mysql数据库监控。

结果展示

章节介绍:

第1、2章节为基础环境。主要包含Grafana+Prometheus。

从第3章节开始,是数据采集端的部署教程。

准备工作

docker run -p 3306:3306 --name MySQL5.7 \
-v /data/mysql5.7/log:/var/log/mysql \
-v /data/mysql5.7/data:/var/lib/mysql \
-v /data/mysql5.7/conf:/etc/mysql \
--restart=always \
-e MYSQL_ROOT_PASSWORD=Yj8Gtc \
-d mysql:5.7

#mysql 更改远程连接命令

docker exec -it Mysql-5.7 /bin/bash

mysql -uroot -pmysql_DbQAXp #注意修改密码

alter user 'root'@'localhost' identified by 'Yj8Gtc';

grant all privileges on *.* to root@'%' identified by 'Yj8Gtc';

flush privileges;

# 本次教程会配置监控oracle数据库, 需要用到oracle19c数据库,若没有数据库,需要提前安装oracle数据库,安装教程可参照:https://articles.zsxq.com/id_9c3brwrf98k3.html

-- 本教程用到了两台linux虚拟机

监控服务ip:172.16.44.240

被监控服务ip:172.16.45.166

-- 提前下载好需要的镜像

# 监控服务

docker pull prom/prometheus && docker pull grafana/grafana

# 被监控服务

docker pull iamseth/oracledb_exporter && docker pull prom/mysqld_exporter && docker pull prom/node-exporter

#如果下载速度过慢或者需要登录账户才可下载可以通过下方链接下载我整理好的镜像:

链接:https://pan.baidu.com/s/1TCvCfiVZzw--nE9f7-YQzw?pwd=312r

# 上传文件后,加载镜像

docker load -i grafana_prometheus_ora_mysql_redis_images.tar

docker images

部署教程开始: (监控服务器执行)

1、Prometheus:

#创建挂载目录或文件

mkdir -p /etc/prometheus/

#创建宿主机位置配置文件

vim /etc/prometheus/prometheus.yml

global:

scrape_interval: 1m

scrape_timeout: 1m

evaluation_interval: 1m

alerting:

alertmanagers:

- follow_redirects: true

enable_http2: true

scheme: http

timeout: 10s

api_version: v2

static_configs:

- targets: []

rule_files:

scrape_configs:

# Prometheus

- job_name: 'Prometheus'

static_configs:

- targets: ['172.16.45.240:9090']

# 注意修改prometheus.yml配置文件末尾行ip地址。

-- 创建 prometheus容器

docker run -itd --name prometheus -p 9090:9090 \

--restart=always \

--privileged=true \

--net host \

-v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \

-v /etc/localtime:/etc/localtime:ro \

prom/prometheus

1.1、验证可用性

docker ps -a |grep prometheus

#检查容器是否启动正常,STATUS 为Up状态

本地浏览器打开:

http://{IP}:9090

可正常显示prometheus界面

2、Grafana

docker run -idt -p 3000:3000 \

--restart=always \

--net host \

--privileged=true \

--name grafana \

grafana/grafana

2.1、验证可用性

docker ps -a |grep grafana

#检查容器是否启动正常,STATUS 为Up状态

本地浏览器打开:

http://{IP}:3000

可正常显示grafana界面,输入用户名 admin 密码 admin ,重置admin密码为Abc123456,登录系统。

2.2 配置Prometheus数据库

依次点击 “Home--Administration--Plugins” 进入插件配置界面。

搜索 “prometheus” 点击搜索到的 Prometheus,点击进去后,点击“add new...”

配置 Prometheus 连接地址 http://172.16.44.240:9090/

最后点击下方的 save&&test ,提示 测试成功,配置完成。

3、被监控服务器部署监控采集端

3.1、监控linux服务器基础信息

3.1.1、监控linux基础信息:使用prom/node-exporter镜像创建数据采集容器

-- 创建Linux监控(被监控服务器执行)

docker run -d --name Node_Exporter -p 9100:9100 --restart=always -v /etc/localtime:/etc/localtime prom/node-exporter

3.1.2、验证可用性

docker ps -a |grep node-exporter

#检查容器是否启动正常,STATUS 为Up状态

3.1.3、修改【监控服务器】prometheus配置文件增量添加以下标签内容

vim /etc/prometheus/prometheus.yml

#Linux 监控

- job_name: Linux

static_configs:

- targets: ['172.16.45.166:9100']

labels:

instance: 166-Linux

- targets: ['172.16.44.240:9100']

labels:

instance: 240-Linux

修改成功后, 重启prometheus容器服务。

docker restart prometheus

3.1.4、grafana导入可视化

-- linux监控json

12633

11074

3.2、监控Oracle数据库服务

3.2.1、创建数据库监控,使用iamseth/oracledb_exporter镜像创建数据采集容器

# 提前在被监控数据库创建“MONIT”用户。

# 注意修改创建容器命令中的数据库

-- 创建数据库监控(数据库服务器执行)

docker run -itd --name Ora_Exporter_37 \

--restart=always \

-p 9161:9161 \

-e DATA_SOURCE_NAME=MONIT/monit@172.16.44.166:1521/orcl \

-v /etc/localtime:/etc/localtime \

iamseth/oracledb_exporter

3.2.2、验证可用性

docker ps -a |grep Ora_Exporter_37

3.2.3、修改prometheus配置文件

vim /etc/prometheus/prometheus.yml

#监控 Oracle

- job_name: 166-ORCL

static_configs:

- targets: ['172.16.44.166:9161']

labels:

instance: 166-ORCL

3.2.4、grafana导入可视化

-- oracle json

11121

3333

3.3、监控Mysql数据库服务

3.3.1、创建数据库监控,使用prom/mysqld-exporter镜像创建数据采集容器

-- 创建Mysql监控(被监控服务器执行)

docker run -d --name Mysql_Exporter --restart always -v /etc/localtime:/etc/localtime -p 9104:9104 -e DATA_SOURCE_NAME="root:123456@172.16.45.166:3306/" prom/mysqld-exporter

3.3.2、验证可用性

3.3.3、修改prometheus配置文件

3.3.4、grafana导入可视化

-- 导入json 7362

3.4、监控Redis数据库服务

3.4.1、安装redis-datasource,并使用oliver006/redis_exporter镜像创建数据采集容器

-- 安装redis-datasource (监控服务器执行)

#grafana增加redis库

docker exec -it grafana sh

grafana-cli plugins install redis-datasource

-- 创建redis连接

docker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter --redis.addr redis://172.16.21.191:6382

3.4.2、验证可用性

3.4.3、修改prometheus配置文件

3.4.4、grafana导入可视化

-- 导入json

12776

11835

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1869078.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

240627_昇思学习打卡-Day9-ResNet50图像分类

240627_昇思学习打卡-Day9-ResNet50图像分类 文章目录 240627_昇思学习打卡-Day9-ResNet50图像分类前言残差网络Residual Block代码实现Bottleneck Block代码实现 BN层(Batch Normalization)构建ResNet50网络数据集准备与加载模型训练与评估可视化模型预…

什么是div移动指令?如何用vue自定义指令实现?

目录 一、Vue.js框架介绍二、vue自定义指令directive三、什么是div移动指令四、使用vue自定义指令directive写一个div移动指令 一、Vue.js框架介绍 Vue.js是一个用于构建用户界面的渐进式JavaScript框架。它设计得非常灵活,可以轻松地被集成到现有的项目中&#xf…

swiper轮播 loop:true失效解决

数据是写死的时候,能够loop:true是有效的;数据是动态获取的loop:true就会失效。 方法一:在接收到数据后,使用 setTimeout(() > {this.getSwiper(); //生成swiper方法}, 0); 下面是我项目具体使用的参考例子: 方法二&#xff…

1982Springboot宠物美容院管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot宠物美容院管理系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系 统具有完整的源代码和数据库…

McgsPro初级使用教程

MCGS触摸屏 1.也被称为昆仑通态触摸屏,是一款在工业自动化领域广泛应用的触摸屏产品。 2.以其高度可靠、多点触控、防水防尘、宽温设计、强大的通信能力、多样化的显示内容、灵活的组态设计和丰富的脚本编程等特点,成为工业自动化领域的强大伙伴。 下载好…

风控图算法之社群发现算法(小数据集Python版)

风控图算法之社群发现算法(小数据集Python版) 在风险控制领域,图算法扮演着日益重要的角色。(这方面的资料有很多,不再赘述) 图算法在风控场景的应用 图分析方法在业务风控中的应用 特别是社群发现算法&a…

Linux 设置中文语言环境(ubuntu)

1. 查看当前默认 2.下载中文语言包 apt-get install language-pack-zh-hans 3. 更新语言环境并重启 update-locale LANGzh_CN.UTF-8 sudo reboot

将 Cohere 与 Elasticsearch 结合使用

本教程中的说明向你展示了如何使用推理 API 使用 Cohere 计算嵌入并将其存储起来,以便在 Elasticsearch 中进行高效的向量或混合搜索。本教程将使用 Python Elasticsearch 客户端执行操作。 你将学习如何: 使用 Cohere 服务为文本嵌入创建推理端点&…

Java技术栈中的核心组件:Spring框架的魔力

Java作为一门成熟的编程语言,其生态系统拥有众多强大的组件和框架,其中Spring框架无疑是Java技术栈中最闪耀的明星之一。Spring框架为Java开发者提供了一套全面的编程和配置模型,极大地简化了企业级应用的开发流程。本文将探讨Spring框架的核…

RK3588芯片介绍

RK3588是一款低功耗、高性能处理器,适用于基于ARM的PC和边缘计算设备、个人移动互联网设备和其他数字多媒体应用,集成四核Cortex-A76和四核Cortex-A55,并分别带有NEON协处理器。支持8K视频编解码器。许多强大的嵌入式硬件引擎为高端应用提供了…

ATA-7025:高压放大器的原理是怎样的

高压放大器是一种电子器件,主要用于将输入信号的电压放大到更高的水平。它在许多领域中都有重要的应用,包括医学影像设备、科学研究装置、激光系统等。高压放大器的原理涉及到放大器的工作原理、电路结构、工作特性等多个方面。下面将从这些方面对高压放…

用心选择,用爱呵护《米小圈上学记》和孩子一起热爱校园生活

作为家长,我们时常为孩子的教育和成长担忧,尤其是在选择适合他们阅读的书籍时更是如此。一本好的儿童读物不仅要有趣,还应该能够激发孩子的想象力,培养他们的品格与勇气。在这个过程中,我发现了一本特别适合孩子们的书…

【Redis一】Redis配置与优化

目录 一.关系型数据库与非关系型数据库 1.关系型数据库 2.非关系型数据库 3.二者区别 4.非关系型数据库产生背景 5.NoSQL与SQL数据记录对比 关系型数据库 非关系型数据库 二.Redis相关概述 1.简介 2.五大数据类型 3.优缺点 3.1.优点 3.2.缺点 4.使用场景 5.采用…

服务治理怎么做:降级、熔断、全链路压测

服务降级的常见场景 系统负载过高:在高峰期或者流量激增的情况下,为了防止系统崩溃,可以暂时关闭或降低某些非关键服务的质量。 依赖服务故障:当某个依赖服务不可用时,通过服务降级可以提供替代方案或者简化的功能&am…

Java鲜花下单预约系统源码小程序源码

让美好触手可及 🌸一、开启鲜花新篇章 在繁忙的都市生活中,我们总是渴望那一抹清新与美好。鲜花,作为大自然的馈赠,总能给我们带来无尽的惊喜与愉悦。但你是否曾因为工作繁忙、时间紧张而错过了亲自挑选鲜花的机会?今…

基于Boost和平均电流控制方法的APFC电路设计

通过学习无线充电相关知识,为更快熟悉APFC工作原理,通过实验得以掌握 技术要求: 1)输入电压:AC 85V~265V; 2)输出电压:400V1%; 3)输出额定电流…

grpc学习golang版( 五、多proto文件示例)

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 文章目录 一、前言二、定义proto文件2.1 公共proto文件2.2 语音唤醒proto文件2.3 人脸唤醒proto文件2.4 生成go代码2.…

MapStruct-JavaBean映射工具使用指南

在软件开发中,对象之间的转换是一项常见的任务,尤其是在处理数据模型间的映射时。传统的做法,如使用JavaBeanUtils,可能会导致性能下降,而手动编写转换代码则效率低下且易出错。为了解决这些问题,MapStruct…

GPU_Gems-物理模型的水模拟

创建一个多网格的平面 void GraphicsWindowBase::RenderPlane() {constexpr int width 150;constexpr int depth 150;constexpr int vertNum width * depth;float length 60.f;if (quadVAO 0){float planeVert[vertNum * 5];float offsetX length / (width - 1.f);float…

低空经济再获新动能!沃飞长空完成新一轮数亿元融资

当下,作为中国"新质生产力"代表的低空经济正在成为新的发展“风口”,全国各地开足马力加速入场。 低空经济有多“火”?政策方面,据不完全统计,已有26个省份的政府工作报告对发展低空经济作出部署&#xff1…