网络运维Day15

文章目录

  • Prometheus简介
  • 环境准备
    • 配置模板机环境
    • 部署阿里镜像源
    • 实验环境准备
  • 部署prometheus服务
    • 查看及测试
  • Promethues 被监控端
  • Grafana简介
    • 部署 Grafana 服务器
    • 修改数据源
  • 监控数据库
    • 安装部署Mariadb
    • 安装导出器
    • 修改 Prometheus服务端配置
    • Grafana配置
  • 总结

Prometheus简介

  • Prometheus是一个开源系统监控和警报工具包,最初由 SoundCloud构建。
  • 也是一款监控软件,也是一个时序数据库。Prometheus 将其指标收集并存储为时间序列数据,即指标信息与记录时的时间戳以及称为标签的可选键值对一起存储。
  • 主要用在容器监控方面,也可以用于常规的主机监控。
  • 使用google公司开发的go语言编写。
  • Prometheus是一个框架,可以与其他组件完美结合

在这里插入图片描述

环境准备

主机名IP地址
prometheus192.168.8.100(vmnet8网络模式)
node1192.168.8.101(vment8网络模式)
  • 重新安装一台CentOS7.9图形版虚拟机作为模板机、

  • 关闭防火墙和SELinux

  • 模板机机需要使用 centos7.9的镜像创建

  • 英文安装,时区选择亚洲上海,时间和自己真机保持一致

由于装机大家已经很熟练了,这里不再做展示,如果安装出现问题,可参阅之前笔记

下方罗列本次装机需要注意的事项

在这里插入图片描述
在这里插入图片描述

配置模板机环境

[root@localhost ~]# systemctl stop firewalld				#停止防火墙
[root@localhost ~]# systemctl disable firewalld				#将防火墙设置为开机不自启
[root@localhost ~]# vim /etc/selinux/config
...
7 SELinux=disabled						#将SELinux状态改为disabled禁用
...
[root@localhost ~]# poweroff			#关闭虚拟机

部署阿里镜像源

  • 阿里云镜像站点,主要提供各种开发者资源和开源软件的镜像下载
    • 阿里云镜像地址
  • wget为Linux下载命令
    • -O:表示将数据另存为制定路径

模板机操作

[root@localhost ~]# rm -rf /etc/yum.repos.d/*.repo	 	#删除自带的repo文件
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo \ https://mirrors.aliyun.com/repo/Centos-7.repo		     #下载阿里镜像源

实验环境准备

使用模板机链接克隆prometheus、node1

prometheus主机操作(修改主机名及配置IP地址,网卡名不要照抄)

    [root@localhost ~]# hostnamectl set-hostname prometheus
    [root@prometheus ~]# nmcli connection modify ens33 ipv4.method auto connection.autoconnect yes
    [root@prometheus ~]# nmcli connection up ens33

node1主机操作(修改主机名及配置IP地址,网卡名不要照抄)

[root@localhost ~]# hostnamectl set-hostname node1
[root@node1 ~]# nmcli connection modify ens33 ipv4.method auto connection.autoconnect yes
[root@node1 ~]# nmcli connection up ens33

两台主机使用MobaXterm远程连接

prometheus_soft.tar.gz 压缩包拷贝至 promethues主机的/root 家目录下

部署prometheus服务

[root@prometheus ~]# tar -xf prometheus_soft.tar.gz 
[root@prometheus ~]# cd prometheus_soft/
]# tar -xf prometheus-2.17.2.linux-386.tar.gz 
]# mv prometheus-2.17.2.linux-386 /usr/local/prometheus

修改配置文件,让 promethues 自己监控自己

[root@prometheus ~]# vim /usr/local/prometheus/prometheus.yml
....
static_configs:
 - targets: ['192.168.8.100:9090'] 				#修改 IP,指定自己监控自己

检查配置文件是否修改正确(\表示一行写不下,折行写)

[root@prometheus ~]# /usr/local/prometheus/promtool check config  \ /usr/local/prometheus/prometheus.yml
SUCCESS: 0 rule files found

默认prometheus启动服务是很复杂的,如果想利用systemd更快速更方便的管理prometheus
服务,就需要编写服务文件,让 systemd 管理

[root@prometheus ~]# vim /usr/lib/systemd/system/prometheus.service  #编辑服务配置文件
[Unit]
Description=Prometheus Monitoring System
Documentation=Prometheus Monitoring System
[Service]
ExecStart=/usr/local/prometheus/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--storage.tsdb.path=/usr/local/prometheus/data
[Install]
WantedBy=multi-user.target
[root@prometheus ~]# systemctl enable prometheus.service --now #设置为开启自启并立即启动服务
[root@prometheus ~]# systemctl status prometheus.service
[root@prometheus ~]# ss -ntulp | grep 9090				#Prometheus服务监听9090端口
tcp LISTEN 0 128 :::9090 :::* users:(("prometheus",pid=10885,fd=8))

查看及测试

  • 通过浏览器访问 prometheus 的 web 监控页面,查看监控数据
  • 访问:http://192.168.8.100:9090(不要照抄,以自己的IP为准)

在这里插入图片描述
在这里插入图片描述

  • 用真机访问 prometheus 时,会出现时差问题;
  • 用 prometheus 本机的浏览器访问测试,时差问题就可以解决。
[root@prometheus ~]# firefox http://192.168.8.100:9090

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Promethues 被监控端

  • 先将 prometheus_soft.tar.gz 压缩包拷贝至 node1 的/root 家目录下,然后安装被监控端

部署被监控端(node1)

[root@node1 ~]# tar -xf prometheus_soft.tar.gz 
[root@node1 ~]# cd prometheus_soft/
[root@node1 prometheus_soft]# tar -xf node_exporter-1.0.0-rc.0.linux-amd64.tar.gz 
]# mv node_exporter-1.0.0-rc.0.linux-amd64 /usr/local/node_exporter
[root@node1 prometheus_soft]# ls /usr/local/node_exporter/
LICENSE node_exporter NOTICE

如果想更好更快的管理 node_exporter 导出器服务,需要编写 service 服务文件,让 systemd
进行管理

[root@node1 ~]# vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/node_exporter/node_exporter
[Install]
WantedBy=multi-user.target
[root@node1 ~]# systemctl enable node_exporter --now
[root@node1 ~]# systemctl status node_exporter
[root@node1 ~]# ss -utnlp | grep node_exporter
tcp LISTEN 0 128 :::9100 :::* 
users:(("node_exporter",pid=11222,fd=3))

prometheus服务端修改监控端服务器配置

[root@prometheus ~]# vim /usr/local/prometheus/prometheus.yml 
......
 - job_name: 'node1' 						#定义监控任务名字,可以任意名称
 static_configs:
 - targets: ['192.168.8.101:9100'] 			#被监控端主机和端口
[root@prometheus ~]# systemctl restart prometheus	#重启服务,再查看web页面信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Grafana简介

  • Grafana是一种开源的数据可视化和监控平台,用于实时分析和可视化大规模的指标数据。它提供了丰富的数据可视化工具和面板,可以轻松地创建交互式仪表板来监控、查询和分析多种数据源的数据。Grafana支持广泛的数据源,包括Graphite、InfluxDB、Prometheus、Elasticsearch、MySQL等。用户可以通过Grafana的灵活的查询编辑器和插件系统,自定义数据查询和展示方式,从而满足各种不同的数据分析和监控需求。Grafana还具有强大的告警功能,可以及时通知用户关于数据异常或者预先设定的指标阈值的超出情况。Grafana简单易用、功能强大,已经成为开源社区和企业中常用的数据可视化和监控平台之一。

部署 Grafana 服务器

  • Grafana 可以在任意主机部署,我们的规划是在监控服务器 prometheus 上安装部署 Grafana
  • Grafana默认端口:3000
[root@prometheus ~]# cd prometheus_soft/
[root@prometheus prometheus_soft]# ls
.....
grafana-6.7.3-1.x86_64.rpm
[root@prometheus prometheus_soft]# yum -y install grafana-6.7.3-1.x86_64.rpm
[root@prometheus ~]# systemctl enable grafana-server --now
[root@prometheus ~]# systemctl status grafana-server
[root@prometheus ~]# ss -utnlp | grep grafana-server
  • 在启动 grafana 服务后,可以通过浏览器访问 grafana 的 web 的页面,注意需要加上 3000 端
    口访问,默认的的初始用户名和密码都是 admin,但浏览器如果和 Grafana 版本不兼容,我
    们修改新密码就会失败
  • 浏览器访问:http://192.168.8.100:3000

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 如果无法修改密码,就需要修改配置文件,设置成可以通过匿名访问的方式,再重新访问 Grafana 页面
[root@prometheus ~]# vim /etc/grafana/grafana.ini 
304 [auth.anonymous]
306 enabled = true 				#启用匿名访问
312 org_role = Admin 			#以管理员的身份登录
[root@prometheus ~]# systemctl restart grafana-server		#重启服务

在这里插入图片描述

修改数据源

  • 如果需要 Grafana 能够显示 prometheus 监控的数据,通过数据绘制成图形,需要将
    prometheus 监控的数据作为数据源添加到 Grafana 里面
  • 点击 Add data source,添加数据源

在这里插入图片描述

选择Prometheus作为数据源

在这里插入图片描述

给数据源进行命名,并设置为默认数据源,然后设置数据源来源地址,最后保存配置

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

保存成功之后,可以点击齿轮图标,选择 data sources,查看数据源,这样就有了数据的来源:

在这里插入图片描述

  • 在有了数据源之后,想让 Grafana 通过数据绘制出图形,这个时候还需要导入数据模板,这
    里 Grafana 也自带了一个模板,我们也可以尝试导入,然后查看绘制的图形,在这里也需要
    知道,不同的数据模板最终绘制的图形以及显示的数据信息也都不一样

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 默认的模板无法查看被监控主机的信息;
  • 如何还想查看被监控主机node1主机node_exporter的内存、CPU 等信息,这里也需要导入 node_exporter 导出器的模板(模板文件运维工程师无法自己编写,涉及到开发,如果想要其他模板,需要到官网上下载):

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后可以将该面板保存下来
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

监控数据库

安装部署Mariadb

将 node1 主机搭建成 Mariadb 数据服务器,配置账户和密码

[root@node1 ~]# yum -y install mariadb mariadb-server
[root@node1 ~]# systemctl enable mariadb --now 			#设置为开启自启,并立即启动服务
[root@node1 ~]# mysql
MariaDB [(none)]> GRANT ALL ON *.* TO tom@'127.0.0.1' IDENTIFIED BY '123';
MariaDB [(none)]> EXIT;

安装导出器

  • 如果想让 prometheus 能够监控 node1 主机的数据库,就需要安装数据库相关的导出器,
  • 安装 mysqld_exporter 导出器,并修改导出器的配置文件,指定数据库的用户名、密码、端
    口、主机信息,这样导出器才能获取本机的数据库的状态信息
  • mysqld_exporter默认端口号:9104
[root@node1 ~]# cd prometheus_soft/
[root@node1 prometheus_soft]# tar -xf mysqld_exporter-0.12.1.linux-amd64.tar.gz 
]# mv mysqld_exporter-0.12.1.linux-amd64 /usr/local/mysqld_exporter
[root@node1 prometheus_soft]# ls /usr/local/mysqld_exporter/
LICENSE mysqld_exporter NOTICE
[root@node1 prometheus_soft]# vim /usr/local/mysqld_exporter/.my.cnf
[client]
host=127.0.0.1
port=3306
user=tom
password=123
[root@node1 ~]# vim /usr/lib/systemd/system/mysqld_exporter.service
[Unit]
Description=mysqld_exporter
After=network.target
[Service]
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter \
--config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
[Install]
WantedBy=multi-user.target
[root@node1 ~]# systemctl enable mysqld_exporter --now   #设置开机自启,并立即启动服务
[root@node1 ~]# systemctl status mysqld_exporter
[root@node1 ~]# ss -nutlp | grep mysqld_exporter		 #默认监听9104
tcp LISTEN 0 128 :::9104 :::* 
users:(("mysqld_exporter",pid=11807,fd=3))

修改 Prometheus服务端配置

  • 如果要将 node1 的数据库进行监控,需要在 prometheus 上添加 node1 数据库监控相关的配
[root@prometheus ~]# vim /usr/local/prometheus/prometheus.yml 
......
 - job_name: 'node1_mysql'
 static_configs:
 - targets: ['192.168.4.11:9104'] 		#指定 node1 导出器服务端口和地址
[root@prometheus ~]# systemctl restart prometheus #重启服务让配置生效

Grafana配置

  • 如果想在 Grafana 中展示 node1 的数据库监控状态信息,也需要在 Grafana 中导入数据库的
    相关模板,用于展示数据库的状态信息
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

总结

  • 掌握Prometheus使用场景及工作原理
  • 掌握Prometheus部署方式
  • 掌握exporter作用
  • 掌握Prometheus监控服务器硬件及数据库服务
  • 掌握Grafana可视化工具

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

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

相关文章

需要买哪些网络设备才能过等保?求解!

随着等保2.0的落地执行,越来越多的企业需要过等保。但不少企业都是第一次过等保,对于等保政策不是很了解,有小伙伴问,需要买哪些网络设备才能过等保?这里我们小编就给大家来简单回答一下,仅供参考哈&#x…

Q learning

Q learning Q Learning是强化学习算法中的一个经典算法。在一个决策过程中,我们不知道完整的计算模型,所以需要我们去不停的尝试。 算法流程 整体流程如下: Q-table 初始化 第一步是创建 Q-table,作为跟踪每个状态下的每个动作…

电商平台api接口对接电商数据平台,获取商品详情页面实时信息须知

随着互联网的发展和普及,电商平台已成为人们日常生活中不可或缺的一部分。而为了保证电商平台的正常运行,平台与开发者之间需要进行数据交互,这便涉及到了电商平台API接口对接的问题。本文将详细介绍电商平台API接口对接的须知事项。 一、了解…

双算法SSL证书

国际算法的优势与挑战 1. RSA算法 RSA算法是一种基于大素数分解的非对称加密算法,长期以来一直是SSL证书的主流选择之一。然而,随着计算能力的提高,RSA算法的密钥长度需要不断增加,以维持足够的安全性。 2. ECC算法 椭圆曲线密…

迅软DSE答疑专业解析:内网遭受攻击的威胁到底有多大

当今数字化时代,企业数据安全已演变为企业生存和发展的至关重要因素。随着信息技术的迅猛发展,企业内网不仅是承载核心数据和信息的关键平台,也成为黑客和恶意软件攻击的主要目标。因此,确保企业数据安全和内网安全已成为企业管理…

ADC内部电源监控

文章目录 前言一、分析芯片手册1、43.5 ADC internal supply monitoring2、11.1.1.1 Chip Control register (CHIPCTL)1)SIM_CHIPCTL[ADC_SUPPLY]2)SIM_CHIPCTL[ADC_SUPPLYEN] 3、44.4.2 ADC Status and Control Register 1 (SC1A - aSC1P) 二、EB配置1、…

@CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思

@CacheInvalidate 注解是 JetCache 框架提供的注解,它是由阿里巴巴开源的组织 Alibaba Group 开发和维护的。JetCache 是一款基于注解的缓存框架,提供了丰富的缓存功能和灵活的配置选项,可用于增强应用程序的性能和可扩展性。JetCache 支持多种缓存后端,包括内存缓存、Redi…

Ubuntu22.04源码安装ROS-noetic(ROS1非ROS2),编译运行VINS-MONO

1. Ubuntu22.04源码编译安装ROS-noetic 由于22.04默认安装ROS2,但很多仓库都是基于ROS1的,不想重装系统,参考这两个博客安装了ROS-noetic: 博客1. https://blog.csdn.net/Drknown/article/details/128701624博客2. https://zhua…

(七)Spring源码解析:Spring事务

对于事务来说,是我们平时在基于业务逻辑编码过程中不可或缺的一部分,它对于保证业务及数据逻辑原子性立下了汗马功劳。那么,我们基于Spring的声明式事务,可以方便我们对事务逻辑代码进行编写,那么在开篇的第一部分&…

CRM系统对科技企业有哪些帮助

随着国家政策的倾斜和5G等相关基础技术的发展,中国人工智能产业在各方的共同推动下进入爆发式增长阶段,市场发展潜力巨大。CRM客户管理系统作为当下最热门的企业应用,同样市场前景广阔。那么,CRM系统对科技企业有哪些帮助&#xf…

Python开源项目VQFR——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践

Python Anaconda 的安装等请参阅: Python开源项目CodeFormer——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践https://blog.csdn.net/beijinghorn/article/details/134334021 VQFR也是 腾讯 LAB 的作品&…

ninja 编译介绍

首先献上官方链接 https://ninja-build.org/manual.html Ninja 何以存在? 从官方文档看出,编译很快!怎么实现的呢??所以,还是值得了解一下的,继续~ 编译优势 项目中使用 具体语法,…

Find My滑雪板|苹果Find My技术与滑雪板结合,智能防丢,全球定位

滑雪板运动是一项越来越受年轻人青睐的运动,随着年轻人的消费能力不断提高,滑雪板市场也会得到更多的机会和发展空间。滑雪板市场规模是一个不断增长的市场,目前市场规模已经相当大。根据统计数据显示,全球滑雪板市场规模约为26亿…

多语言外贸跨境商城源码/支持多商家入驻/一键采集铺货/后台下单等

随着全球化的不断深入,多语言外贸跨境商城已成为全球贸易的新趋势。我们致力于打造一个支持多商家入驻、一键采集铺货、后台下单等多项功能的电商平台,帮助您轻松开启全球贸易之旅。 一、多语言支持,让您的事业走向世界 我们提供多语言支持&a…

map与set使用方法总结

一,map与set简介 map与set本质上便是一个关联容器,它们的底层都是一个叫做红黑树的数据结构。当然,所谓的红黑树又是一个二叉搜索树。所以追根溯源,map和set都是用二叉搜索树(红黑树)实现的容器。 在C中&am…

【工程部署】在RK3588上部署OCR(文字检测识别)(DBNet+CRNN)

硬件平台: 1、firefly安装Ubuntu系统的RK3588; 2、安装Windows系统的电脑一台,其上安装Ubuntu18.04系统虚拟机。 参考手册:《00-Rockchip_RKNPU_User_Guide_RKNN_API_V1.3.0_CN》 《RKNN Toolkit Lite2 用户使用指南》 1、文…

【kafka】windows安装启动

1.zookeeper的安装与启动 快速打开window powershell: windowx,选 2.kafka下载 —注意kafka和zookeeper需要版本匹配 安装路径 注意,kafka安装目录不能有空格。文件下载到: D:\Program_Files\kafka_2.12-3.6.0新建logs文件 修改c…

语聚AI助力微信客服系统与企业知识库的API连接,提升电商平台用户运营效果

建立连接:语聚AI与微信客服系统的API集成 在现代电商运营中,智能客服系统已经成为一种必备的工具。而在这方面,微信客服系统因其广泛的用户基础和便捷的操作方式,成为了业界广泛采用的工具。但是,为了更好地满足用户需…

算法笔记——递归(1)

这里写目录标题 递归的思想序列求最大值翻转字符串斐波那契数列数塔回文字符串上楼汉诺塔棋盘覆盖问题数字螺旋矩阵盒分形 递归的思想 子问题须与原始问题为同样的事,且更为简单。 不能无限制地调用本身,须有个出口,化简为非递归状况处理 序…

el-table本地与线上的样式不一致出现错乱

使用el-table的时候有几个表头是循环出来的,出现在本地运行的时候,表头内el-input输入框样式正常,但是发布以后出现样式错乱问题 线上样式错乱:​ 本地正常: 出现这个问题的原因是我有几个表头是循环出来的&#xff0…