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

什么是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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL集群高可用架构之双主双活+keepalived

该教程再linux系统下 从部署单台mysql -->到部署两台双主mysql-->再到安装keepalived-->整体测试 从而实现mysql双主双活高可用的目标。 改文档由本人亲自部署搭建一步一步编写而来,实属不易,如对您有所帮助,请收藏点个赞&#x…

如何在ArcGIS Pro中提取行政区划

我们在《2024版有审图号的SHP行政区划》一文中,为你分享过全国省市县级的行政区划。 现在再为你分享一下,如何在ArcGIS Pro中提取目标范围行政区划的方法,你还可在以文末查看领取该行政区划数据的方法。 直接选择 在菜单栏上点击一下选择下…

Python代码升级工具库之pyupgrade使用详解

概要 在Python开发过程中,随着语言版本的更新和改进,代码也需要不断地进行升级和优化,以利用新版本提供的特性和性能提升。pyupgrade 库是一个自动化工具,它能够帮助开发者将代码升级到指定的Python版本,自动应用新的语法和特性,简化了代码维护工作。本文将详细介绍 pyu…

【深度学习】机器学习基础

机器学习就是让机器具备找一个函数的能力 带有未知的参数的函数称为模型 通常一个模型的修改,往往来自于对这个问题的理解,即领域知识。 损失函数 平均绝对误差(Mean Absolute Error,MAE) 均方误差(Mea…

【02-02】SpringMVC基于注解的应用

一、请求处理 1、常用注解 RequestMapping 作用:用来匹配客户端发送的请求(用来处理URL映射,将请求映射到处理方法中),可以在类或者方法上使用。 用在类上,可以将请求模块化,避免请求方法中的…

优刻得首个「国产千卡智算集群」落地,支持智源千亿大模型训练

在人工智能引领的时代浪潮中,算力已成为技术进步与创新的核心驱动力。面对当下AI算力需求的飙升、高端AI芯片供应受限的挑战,加之OpenAI带来的技术封锁,唯有坚定不移的发展自主可控的国产技术方案,持续壮大国产智算集群规模&#…

计算机网络之数据通信原理

1.通信系统的基本组成 信源:信息的发出者; 信宿:信息的接收者; 载体:信息的传送通道; 变换器:将信息变换成载体上可传输的信号; 反变换器:将载体上传输的信号变换成信…

兴趣爱好广泛的人,如何填报高考志愿选专业?

一般来说,高考填报志愿都要以自己的兴趣为基础。但是对于有一些比较优秀的同学来说,自己的兴趣可能是非常广,涉及到各个专业方方面面。有些同学琴棋书画样样精通,对于很多的专业,他们都充满了兴趣,而且兴趣…

navicat Premium发布lite免费版本了

Navicat Premium发布lite免费版本了,下面是完整功能对比链接 Navicat Premium 功能列表 | Navicat 免费版本下载链接如下: Navicat | 免费下载 Navicat Premium Lite 开发功能完全够用,点赞。 dbeaver该如何应对。

MySQL高级-索引-使用规则-前缀索引

文章目录 1、前缀索引2、前缀长度3、查询表数据4、查询表的记录总数5、计算并返回具有电子邮件地址(email)的用户的数量6、从tb_user表中计算并返回具有不同电子邮件地址的用户的数量7、计算唯一电子邮件地址(email)的比例相对于表…

鸿蒙Harmony开发实战案例:使用OpenGL绘制3D图形

XComponent控件常用于相机预览流的显示和游戏画面的绘制,在OpenHarmony上,可以配合Native Window创建OpenGL开发环境,并最终将OpenGL绘制的图形显示到XComponent控件。本文将采用"Native C"模板,调用OpenGL ES图形库绘制3D图形&…

面试-collection体系

1.整体collection体系图 2.集合List和Set (1)ArrayList和LinkedList区别 我们知道,通常情况下,ArrayList和LinkedList的区别有以下几点: 1. ArrayList是实现了基于动态数组的数据结构(可以实现扩容,实现方式是建立一个新的数组,再…

安霸CVFlow推理开发笔记

一、安霸环境搭建: 1.远程172.20.62.13 2. 打开Virtualbox,所在目录:E:\Program Files\Oracle\VirtualBox 3. 配置好ubuntu18.04环境,Ubuntu密码:amba 4. 安装toolchain,解压Ambarella_Toolchain_CNNGe…

Android 大话binder通信 (下)

戳蓝字“牛晓伟”关注我哦! 用心坚持输出易读、有趣、有深度、高质量、体系化的技术文章 前情提要 Android 大话binder通信 (上)主要介绍了矮挫丑进程一直暗恋白富美进程,遂发送情书给她,以表达对她的爱慕之情,而情书顺利的到达…

linux中awk,sed, grep使用(待补充)

《linux私房菜》这本书中将sed和awk一同归为行的修改这一点,虽然对,但不利于实际处理问题时的思考。因为这样的话,当我们实际处理问题时,遇到比如说统计文本打印内容时,我们选择sed还是awk进行处理呢? 也因…

什么类型的网站需要配置OV证书

目录 什么网站更适合OV证书: 申请OV需要注意: 申请单位组织验证型OV SSL证书的详细步骤 OV SSL证书全称Organization Validation SSL(组织验证性SSL证书),是一种需要验证网站真实身份的数字证书。通过证书颁发机构审查网站企业身份和域名所…

单例模式(下)

文章目录 文章介绍步骤安排及单例讲解step1:注册单例类型(main.cpp)step2:定义类和私有构造函数(keyboardinputmanager.h)step3:(keyboardinputmanager.cpp)step4:在qml中…

springboot 缓存框架Cache整合redis组成二级缓存

springboot 缓存框架Cache整合redis组成二级缓存 项目性能优化的解决方案除开硬件外的方案无非就是优化sql,减少sql 的执行时间,合理运用缓存让同样的请求和数据库之间的连接尽量减少,内存的处理速度肯定比直接查询数据库来的要快一些。今天就…

临时挂载字体文件工具

一、简介 1、FontLoader是一款专为字体管理和快速加载设计的工具,它能够在不占用系统资源的情况下,实现字体的临时加载和快速切换。用户可以将字体文件存放在系统之外的硬盘分区,并通过FontLoader直接从内存中加载这些字体,从而避…

Nginx安装部署

简介 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。 同Tomcat一样,Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务,同时也可以作为流量代理服务器,控制流量的中转。 Ngi…