部署prometheus+Grafana可视化仪表盘监控服务

news2024/11/15 15:52:51

一、部署prometheus及监控仪表盘

简介

Prometheus是开源监控报警系统和时序列数据库(TSDB)。

Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控,输出被监控组件信息的HTTP接口被叫做exporter。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、CPU、网络等等)。

1 基础环境

环境/组件 版本 下载地址 操作系统 CentOS 7.3 http://archive.kernel.org/centos-vault/7.3.1611/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso

Prometheus 2.6.0 Download | Prometheus

go 1.12.3 https://mirrors.xlhy1.com/source-code/go1.12.3.linux-amd64.tar.gz

Grafana 5.4.2 https://dl.grafana.com/oss/release/grafana-5.4.2-1.x86_64.rpm

2 安装go

2.1 安装

rz             #上传go1.12.3.linux-amd64.tar.gz压缩包
tar -C /usr/local/ -xzvf go1.12.3.linux-amd64.tar.gz

2.2 配置环境变量

vim /etc/profile                            #打开配置文件
export PATH=$PATH:/usr/local/go/bin         #添加内容
 
source /etc/profile                         #刷新环境变量配置文件

2.3 验证版本

go version

3. 安装Prometheus

3.1 安装

rz                                                                      #上传 prometheus-2.6.0.linux-amd64.tar.gz
tar -C /usr/local/ -xzvf prometheus-2.6.0.linux-amd64.tar.gz            #解压缩到指定目录
cd /usr/local/                                                          #进入目录
ln -sv /usr/local/prometheus-2.6.0.linux-amd64/ /usr/local/prometheus   #创建软连接

3.2 修改prometheus配置文件

vim /usr/local/prometheus/prometheus.yml            #打开配置文件
配置文件修改后如下内容:
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).
​
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093
​
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
    - "/usr/local/prometheus/rules/node.yml"
​
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
    static_configs:
    - targets: ['192.168.0.4:9090']

3.3 启动prometheus

nohup /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml &

3.4 访问

浏览器访问:ip:9090/targets

注意:如果是云服务器,配置文件中的ip为ifconfig命令查到的IP,浏览器访问的ip为公网ip

4. 安装Grafana

4.1 安装

rz                                              #上传 grafana-5.4.2-1.x86_64.rpm
rpm -ivh --nodeps grafana-5.4.2-1.x86_64.rpm    #编译安装

4.2 可能在安装grafana时有依赖库,需要搭建个本地yum源安装fontconfig、urw-fonts

yum install fontconfig
yum install urw-fonts

4.3 启动Grafana

systemctl daemon-reload
systemctl enable grafana-server.service         #设为开机自启动
systemctl start grafana-server.service

4.4 访问grafana

浏览器访问IP:3000端口,即可打开grafana页面,默认用户名密码都是admin,初次登录会要求修改默认的登录密码

4.5 点击主界面的“Add data source”

4.6 选择Prometheus

4.7 Dashboards页面选择“Prometheus 2.0 Stats”

4.8 Settings页面填写普罗米修斯地址并保存

4.9 切换到我们刚才添加的“Prometheus 2.0 Stats”即可看到整个监控页面

二、Prometheus + Grafana监控之主机性能

监控linux机器(node-exporter) https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz

1.被监控的机器安装node-exporter

1.1 解压安装

rz                               #上传node_exporter-0.17.0.linux-amd64.tar.gz
tar -xvf -C /usr/local/ node_exporter-0.17.0.linux-amd64.tar.gz -C /usr/local/      
cd /usr/local/
ln -sv node_exporter-0.17.0.linux-amd64 node_exporter

1.2 启动node-exporter

nohup /usr/local/node_exporter/node_exporter --web.listen-address=":9100" &

启动成功后,可以访问 http://1.117.225.137:9100/metrics(IP和端口要改成相应环境的,公网ip)

2.prometheus添加监控项

2.1 修改prometheus配置文件

vim /usr/local/prometheus/prometheus.yml        #打开配置文件
#默认node-exporter端口为9100
添加配置文件内容如下:
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
​
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093
​
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
    - "/usr/local/prometheus/rules/node.yml"
​
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
    static_configs:
    - targets: ['192.168.0.4:9090']
  - job_name: 'prometheus-yjsx'
    static_configs:
    - targets: ['1.117.225.137:9100']   #公网ip

2.2 重启普罗米修斯

[root@xplinux ~]# ps axu | grep prometheus          #查看进程
root      6969  0.0  4.1 146340 41780 pts/1    Sl   15:15   0:01 /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml
root     14193  0.0  0.0 112708   980 pts/1    R+   16:35   0:00 grep --color=auto prometheus
​
kill -9 6969                                      #结束进程
nohup /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml & #启动

3. Grafana导入画好的dashboard

Upload上传node-exporter_rev5.json文件(也可以直接使用官方模板,需要此node-exporter_rev5.json文件的可以私信我获取)

修改名字,选择我们前文创建好的数据源,点击导入即可

如果没有任何显示,是grafana缺少相关显示需要用到的插件piechart

grafana的默认插件目录是,可以将下载好的插件解压到这个目录,重启grafana即可 piechart插件下载链接:

cd /var/lib/grafana/plugins                         #进入目录
rz                                                  #上传插件 grafana-piechart-panel-5f249d5.zip
unzip grafana-piechart-panel-5f249d5.zip            #解压缩
service grafana-server restart                      #重启Grafana
ls /usr/sbin/grafana-cli plugins                    #查看已安装插件

再刷新grafana页面,即可看到我们刚才设置好的node监控

三、Prometheus + Grafana监控之Kafka

监控kafka(kafka_exporter)

从 GitHub - danielqsj/kafka_exporter: Kafka exporter for Prometheus 下载

1. 安装kafka_exporter

注:1个kafka集群只需要1个exporter,在集群上的任意1台服务器部署。

kafka_exporter-1.2.0.linux-amd64.tar下载地址:忘求了,家人们可以百度找找

rz          #上传kafka_exporter-1.2.0.linux-amd64.tar
tar -xvf kafka_exporter-1.2.0.linux-amd64.tar -C /usr/local/
cd /usr/local/
ln -sv kafka_exporter-1.2.0.linux-amd64 kafka_exporter      #创建软连接
cd kafka_exporter

1.1 启动kafka_exporter

nohup ./kafka_exporter --kafka.server=172.16.1.224:9092 &

启动成功后,可以访问 http://172.16.1.224:9308/metrics/ ,(IP和端口要改成相应环境的)

看抓取的信息如下:

2. 修改Prometheus配置

2.1 修改prometheus组件的prometheus.yml加入kafka监控

vim /usr/local/prometheus-2.27.1/prometheus.yml     #打开prometheus配置文件
添加内容如下:图片已丢失!!!

2.2 启动验证

先kill掉Prometheus进程,用以下命令重启它,然后查看targets:
cd /usr/local/prometheus
nohup ./prometheus --config.file=prometheus.yml &

State=UP,说明成功

3. Grafana配置

导入仪表盘模板

通过浏览器访问:IP地址:3000

图片已丢失!!!

 👑👑👑结束语👑👑👑

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

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

相关文章

微信公众号测试号里面显示若依前端页面

内网穿透 注册购买内网穿透隧道 https://natapp.cn/ 启动成功 这样就绑定你的本地启动项目 微信公众测试号配置 注册微信公众号测试号 获取access_token&#xff0c;AppID与appsecret 调用微信官方接口生成access_token&#xff08;AppID和AppSecret可在“微信公众平台-设置…

IAB视频广告标准《数字视频和有线电视广告格式指南》之 简介、目录及视频配套广告 - 我为什么要翻译介绍美国人工智能科技公司IAB系列(2)

写在前面 谈及到中国企业走入国际市场&#xff0c;拓展海外营销渠道的时候&#xff0c;如果单纯依靠一个小公司去国外做广告&#xff0c;拉渠道&#xff0c;找代理公司&#xff0c;从售前到售后&#xff0c;都是非常不现实的。我们可以回想一下40年前&#xff0c;30年前&#x…

蓝桥杯--冶炼金属

目录 一、题目 二、解决代码 &#xff08;1&#xff09;版本一&#xff08;报错&#xff1a;超时&#xff09; 代码分析 &#xff08;2&#xff09;版本二&#xff08;不会超时&#xff09; 代码分析 &#xff08;3&#xff09;版本三&#xff08;最终精简版&#xff09;…

Github 2024-03-11 开源项目周报 Top15

根据Github Trendings的统计&#xff0c;本周(2024-03-11统计)共有15个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目4TypeScript项目3Jupyter Notebook项目3C#项目1HTML项目1CSS项目1Dart项目1Lua项目1Shell项目1Rust…

Vue3--数据和方法

data 组件的 data 选项是一个函数。Vue 在创建新组件实例的过程中会自动调用此函数。   data选项通常返回一个对象&#xff0c;然后 Vue 会通过响应性系统将其包裹起来&#xff0c;并以 $data 的形式存储在组件实例中。 <!DOCTYPE html> <html lang"en"&g…

Unload-labs

function checkFile() {var file document.getElementsByName(upload_file)[0].value;if (file null || file "") {alert("请选择要上传的文件!");return false;}//定义允许上传的文件类型var allow_ext ".jpg|.png|.gif";//提取上传文件的类…

【学习记录】调试千寻服务+DTU+导远RTK过程的记录

最近调试车载定位的时候&#xff0c;遇到了一些问题&#xff0c;千寻服务已经正确配置到RTK里面了&#xff0c;但是导远的定位设备一直显示RTK浮动解&#xff0c;通过千寻服务后台查看状态&#xff0c;长时间显示不合法的GGA值。 首先&#xff0c;通过四处查资料&#xff0c;千…

一文解析AI社交网络 CharacterX,确定性空投不可错过

从 OpenAI 发布 ChatGPT 以来&#xff0c;AI 迅速成为全球热门话题&#xff0c;围绕 AI 的衍生应用层出不穷。随着前一段 Sora 的亮相&#xff0c;AI 的优异表现再次震惊世界。人们不得不承认&#xff0c;未来的互联网将不可避免的以 AI 为主线进行推动和演化。 在加密领域&…

new ArrayList 不当导致 CPU 飙升

问题是这样的&#xff0c;周五正在写文档&#xff0c;突然收到了线上报警&#xff0c;发现cpu占用达到了90多&#xff0c;上平台监控系统查看容器&#xff0c;在jvm监控中发现有一个pod在两个小时内产生了61次youngGc一次fullGc&#xff0c;这个问题特别严重且少见&#xff0c;…

【小黑嵌入式系统第十九课】结课总结(三)——操作系统部分(RTOSμC/OS-Ⅲ程序设计基础(任务函数时间临界区通信))

上一课&#xff1a; 【小黑嵌入式系统第十八课】结课总结&#xff08;二&#xff09;——软件部分&#xff08;系统架构&调试&测试&运行&系统软件设计&#xff09; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0…

独立开发的轻量级简洁开源论坛BBS PHP源码 – 2023新版发布

最新的轻量级开源论坛php源码发布啦&#xff01;这是一款独立开发的论坛系统&#xff0c;可以帮助你快速地开发出你想要的网站。 如果你是PHP初学者&#xff0c;这款论坛系统非常适合你入门学习。不过&#xff0c;需要注意的是&#xff0c;由于它并没有进行商业化改造&#xf…

C++面试100问!(三)

前言 本次专题旨在回顾C的一些基础&#xff0c;方便实时总结。 C源文件从文本到可执行文件经历的过程&#xff1f; 预处理阶段&#xff1a;对源代码文件中文件包含关系&#xff08;头文件&#xff09;、预编译语句&#xff08;宏定义&#xff09;进行分析和替换&#xff0c;生…

intra-band contiguous carrier aggregation是如何判断的?

翻看38.101-1&#xff0c;在5.4A.1 Channel spacing for CA的描述中有发现具体规定。 首先 两个CC的channel spacing要为channel raster和SCS的最小公倍数的任意倍数&#xff0c;其次是否来连续要根据两个CC的channel spacing 与nominal channel spacing 做比较&#xff0c;…

睿尔曼超轻量仿人机械臂之六轴机器人运动认知与实操

机械臂运动分为关节空间运动和笛卡尔空间运动2种方式&#xff0c;2种运动方式分别对应机械臂运动学算法的正解和逆解&#xff0c;在不同的应用场景下可以使用不同的运动方式。 两种运动方式之间的不同可总结为以下几点&#xff1a; ①表示方式不同。关节空间运动发给机械臂的是…

代码学习记录16

随想录日记part16 t i m e &#xff1a; time&#xff1a; time&#xff1a; 2024.03.11 主要内容&#xff1a;今天的主要内容是二叉树的第五部分&#xff0c;主要涉及最大二叉树&#xff1b;合并二叉树&#xff1b;二叉搜索树的搜索&#xff1b;验证二叉搜索树。 654.最大二叉…

《Python深度学习》阅读笔记

以下是《Python深度学习》一书中学习过程中记录的一些重要的专属名词和概念&#xff1a; 一、概念 深度学习&#xff08;Deep Learning&#xff09;&#xff1a;指使用多层神经网络进行机器学习的技术。神经网络&#xff08;Neural Network&#xff09;&#xff1a;一种模仿生…

常用SQL语句大全

目录 目录 一.SQL概念 二.数据库操作 2.0.连接数据库 2.1创建数据库 2.2使用数据库 2.3切换数据库 2.4删除数据库(慎用&#xff01;&#xff01;) 2.5查询数据库 三.表操作 3.0了解数据类型和数据约束 3.1创建表 3.2查询表 3.3修改表 3.4删除表 四.数据操作 4…

【PTA】L1-032 L1-033(c)第六天

L1-032 Left-pad 分数 20 作者 陈越 单位 浙江大学 根据新浪微博上的消息&#xff0c;有一位开发者不满NPM&#xff08;Node Package Manager&#xff09;的做法&#xff0c;收回了自己的开源代码&#xff0c;其中包括一个叫left-pad的模块&#xff0c;就是这个模块把javas…

【开源-土拨鼠充电系统】鸿蒙 HarmonyOS 4.0+微信小程序+云平台

本人自己开发的开源项目&#xff1a;土拨鼠充电系统 ✍GitHub开源项目地址&#x1f449;&#xff1a;https://github.com/cheinlu/groundhog-charging-system ✍Gitee开源项目地址&#x1f449;&#xff1a;https://gitee.com/cheinlu/groundhog-charging-system ✨踩坑不易&am…

集合系列(一) -集合框架简介

一、集合类简介 Java集合就像一种容器&#xff0c;可以把多个对象&#xff08;实际上是对象的引用&#xff0c;但习惯上都称对象&#xff09;“丢进”该容器中。从Java 5 增加了泛型以后&#xff0c;Java集合可以记住容器中对象的数据类型&#xff0c;使得编码更加简洁、健壮。…