Linuk安装Prometheus+grafana监控

Linuk安装Prometheus+grafana监控

文章目录

  • Linuk安装Prometheus+grafana监控
    • 服务器环境配置
    • 1.prometheus监控框架工具介绍
    • 2.Prometheus 源码安装和启动配置
      • 2.1 下载
      • 2.2安装
      • 2.3默认prometheus.yml 配置解释
      • 2.4直接启动服务
      • 2.5 访问http://localhost:9090
      • 2.6将Prometheus配置为系统服务
    • 3.客户端安装node_exporter
      • 3.1下载
      • 3.2安装
      • 3.3直接启动
      • 3.4 访问http://localhost:9100
      • 3.5将node_exporter配置为系统服务
    • 4.Prometheus 监控node_exporter
    • 5.Grafana 展示 Prometheus 数据
      • 5.1.1下载Grafana
      • 5.1.2启动
      • 5.1.3访问http://localhost:3000
      • 5.1.4 添加Prometheus数据源
      • 5.15新增Dashboard Linux基础数据展示
    • 6.prometheus 监控tomcat
      • 第一步下载和配置
      • 第二步修改tomcat的启动文件
      • 第三步启动tomcat
      • 第四步 修改prometheus 配置文件
      • 第5步重启prometheus
      • 第6步 Grafana 中配置 jvm 监控

服务器环境配置

防火墙添加端口:

防火墙添加端口(永久):firewall-cmd --zone=public --add-port=端口号/tcp --permanent
重启防火墙:systemctl restart firewalld.service
查看防火墙已添加的端口:firewall-cmd --zone=public --list-ports
可以关闭运行的防火墙 systemctl stop firewalld.service
关闭后再使用命令systemctl status firewalld.service查看防火墙状态,如果出现disavtive(dead)的字样,说明防火墙已经关闭

查看端口号:

 lsof -i: 端口号 

杀死进程:

 kill -9  pid  终止进程号为pid的进程

grafana模板:

https://grafana.com/grafana/dashboards   搜索 相应 dashboards的id如  **8919,12227**

参考资料:

https://blog.csdn.net/qq_31725371/article/details/114697770

1.prometheus监控框架工具介绍

​ prometheus是由谷歌研发的一款开源的监控软件,它通过安装在远程机器上的exporter,通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上

2.Prometheus 源码安装和启动配置

IP角色系统
192.168.91.128Prometheus 服务端CentOS 7
192.168.91.128node_exporter 客户端CentOS 7

普罗米修斯下载网址:https://prometheus.io/download/

监控集成器下载地址:http://www.coderdocument.com/docs/prometheus/v2.14/instrumenting/exporters_and_integrations.html

2.1 下载

​ 访问: https://github.com/prometheus/prometheus/releases/download/v2.25.0/prometheus-2.25.0.linux-amd64.tar.gz下载prometheus-2.25.0.linux-amd64.tar.gz

2.2安装

[root@VM_2-45 ~]# cd /usr/local                                           切换目录
[root@VM_2-45 local]# tar xf  prometheus-2.25.0.linux-amd64.tar.gz        解压
[root@VM_2-45 local]# mv prometheus-2.25.0.linux-amd64/ prometheus        修改文件名

安装成功后可以查看安装版本

[root@VM_2-45 /usr/local/prometheus]# ./prometheus --version 
显示如下:prometheus, version 2.25.0 (branch: HEAD, revision: a6be548dbc17780d562a39c0e4bd0bd4c00ad6e2)build user:       root@615f028225c9build date:       20210217-14:17:24go version:       go1.15.8platform:         linux/amd64

2.3默认prometheus.yml 配置解释

可以直接复制到prometheus.yml 中,没有影响

  • # my global configglobal:# 默认情况下,每15s拉取一次目标采样点数据。scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.# 每15秒评估一次规则。默认值为每1分钟。evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configurationalerting: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"# A scrape configuration containing exactly one endpoint to scrape:# Here it's Prometheus itself.scrape_configs:# job名称会增加到拉取到的所有采样点上,同时还有一个instance目标服务的host:port标签也会增加到采样点上- job_name: 'prometheus'# 覆盖global的采样点,拉取时间间隔5sscrape_interval: 5sstatic_configs:- targets: ['localhost:9090']
    

2.4直接启动服务

[root@VM_2-45 /usr/local/prometheus]# ./prometheus --config.file=prometheus.yml

2.5 访问http://localhost:9090

点击targets[目标] 会看到红色框的内容

在这里插入图片描述

2.6将Prometheus配置为系统服务

​ 1.进入systemd目录下:cd /usr/lib/systemd/system

[root@VM_2-45 ~]# cd /usr/lib/systemd/system

​ 2.创建文件:vim prometheus.service

 [Unit]Description=https://prometheus.io[Service]Restart=on-failureExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --web.listen-address=:9090[Install]                      WantedBy=multi-user.target

​ 3.生效系统system文件

systemctl daemon-reload

​ 4.启动服务

[root@VM_2-45 ~]# systemctl start prometheus

3.客户端安装node_exporter

3.1下载

​ 访问 https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz下载node_exporter-1.1.2.linux-amd64.tar.gz

3.2安装

[root@VM_2-45 ~]# cd /usr/local                                           
[root@VM_2-44 local]# tar xf node_exporter-1.1.2.linux-amd64.tar.gz 
[root@VM_2-44 local]# mv node_exporter-1.1.2.linux-amd64/ node_exporter

3.3直接启动

[root@VM_2-44 /usr/local/node_exporter]# ./node_exporter

3.4 访问http://localhost:9100

在这里插入图片描述

3.5将node_exporter配置为系统服务

​ 1.进入systemd目录下:cd /usr/lib/systemd/system

[root@VM_2-45 ~]# cd /usr/lib/systemd/system

​ 2.创建文件:vim node_exporter.service

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

​ 3.生效系统system文件

systemctl daemon-reload

​ 4.启动服务

systemctl start node_exporter 

4.Prometheus 监控node_exporter

​ 修改配置文件添加监控项

  • [root@VM_2-45 /usr/local/prometheus]# cat prometheus.yml # my global configglobal: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 configurationalerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.rule_files:
    scrape_configs:- job_name: 'prometheus'static_configs:- targets: ['192.168.91.128:9090']     # 这个地方为默认的 也可以为 localhost
    # 这个地方为新增的, 注意此文件的空格问题,和换行问题,如果启动失效,将其粘贴到txt中,清楚样式 删掉此处空格和注释即可- job_name: 'linux'static_configs:- targets: ['192.168.91.128:9100','192.168.91.129:9100'] # 多个用,分开
    

​ 重启Prometheus

[root@VM_2-45 /usr/local/prometheus]# systemctl restart prometheus.service

​ 打开Prometheus 自带的监控页面,Status -> Targets 查看:

在这里插入图片描述

5.Grafana 展示 Prometheus 数据

5.1.1下载Grafana

​ 访问https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/grafana-7.4.3-1.x86_64.rpm下载grafana-7.4.3-1.x86_64.rpm

yum install -y grafana-7.4.3-1.x86_64.rpm

5.1.2启动

[root@VM_2-45 ~]# systemctl start grafana-server

5.1.3访问http://localhost:3000

​ 初始用户名和密码都是admin

5.1.4 添加Prometheus数据源

Configuration -> Data Sources ->add data source -> Prometheus

在这里插入图片描述

在这里插入图片描述

5.15新增Dashboard Linux基础数据展示

在这里插入图片描述

导入模板liunk-node-exporter-for-prometheus.json

grafana模板: https://grafana.com/grafana/dashboards 搜索 相应 dashboards的id如 8919,12227

在这里插入图片描述

6.prometheus 监控tomcat

暗转Tomcat 和JDk

配置Tomcat 指定jdk 启动 ,再 catalina.sh 头部 添加

#!/bin/sh
export JAVA_HOME=/root/soft/jdk1.8.0_331
export JRE_HOME=/root/soft/jdk1.8.0_331/jre

参考资料:
https://blog.csdn.net/weixin_43560924/article/details/120881722
jar包下载地址: https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.1/jmx_prometheus_javaagent-0.3.1.jar

第一步下载和配置

1)下载 jmx_prometheus_javaagent-0.3.1.jar jar包

2)切换到 Tomcat bin 目录下边

3)新建一个配置文件,命名config.yaml

vim config.yaml
  • lowercaseOutputLabelNames: true
    lowercaseOutputName: true
    rules:- pattern: 'Catalina<type=GlobalRequestProcessor, name=\"(\w+-\w+)-(\d+)\"><>(\w+):'name: tomcat_$3_totallabels:port: "$2"protocol: "$1"help: Tomcat global $3type: COUNTER
    - pattern: 'Catalina<j2eeType=Servlet, WebModule=//([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), name=([-a-zA-Z0-9+/$%~_-|!.]*), J2EEApplication=none, J2EEServer=none><>(requestCount|maxTime|processingTime|errorCount):'name: tomcat_servlet_$3_totallabels:module: "$1"servlet: "$2"help: Tomcat servlet $3 totaltype: COUNTER
    - pattern: 'Catalina<type=ThreadPool, name="(\w+-\w+)-(\d+)"><>(currentThreadCount|currentThreadsBusy|keepAliveCount|pollerThreadCount|connectionCount):'name: tomcat_threadpool_$3labels:port: "$2"protocol: "$1"help: Tomcat threadpool $3type: GAUGE
    - pattern: 'Catalina<type=Manager, host=([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), context=([-a-zA-Z0-9+/$%~_-|!.]*)><>(processingTime|sessionCounter|rejectedSessions|expiredSessions):'name: tomcat_session_$3_totallabels:context: "$2"host: "$1"help: Tomcat session $3 totaltype: COUNTER
    - pattern: ".*"  #让所有的jmx metrics全部暴露出来
    

    第二步修改tomcat的启动文件

    ​ 修改tomcat的启动文件 ,修改bin目录下的catalina.sh文件 此端口可以自定义30018

    JAVA_OPTS="-javaagent:/usr/local/apache-tomcat-8.5.78/bin/jmx_prometheus_javaagent-0.15.0.jar=30018:/usr/local/apache-tomcat-8.5.78/bin/config.yaml"
    

    在这里插入图片描述

第三步启动tomcat

​ 重启tomcat,访问服务器上的30018 端口,查看是否采集到数据,也可以浏览器直接访问ip+端口

​ http://localhost:30018

在这里插入图片描述

第四步 修改prometheus 配置文件

prometheus.yml中增加

    • job_name: 'jmx_exporter'
      scheme: http
      tls_config:insecure_skip_verify: true
      file_sd_configs:- files:- jmx_exporter.json
      

      在这里插入图片描述

创建 jmx_exporter.json

[root@localhost prometheus]# pwd
/usr/local/prometheus
[root@localhost prometheus]# vim  jmx_exporter.json
[{"targets": [ "192.168.91.128:30018"],"labels": {"job": "work1","monitor_host": "192.168.91.128","monitor_port": "30018","monitor_type": "tomcat8","monitor_cluster":""}}
]

第5步重启prometheus

[root@VM_2-45~]# systemctl restart prometheus.service

第6步 Grafana 中配置 jvm 监控

导入 jvm1.json

在这里插入图片描述

导入 jvm2.json

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webRTC实时通信demo

参考文档&#xff1a; https://www.jianshu.com/p/f439ce5cc0be https://www.w3cschool.cn/socket demo流程示意图&#xff08;用户A向用户B推送视频&#xff09;&#xff1a; #mermaid-svg-0KZaDQ5DBl28zjmZ {font-family:"trebuchet ms",verdana,arial,sans-seri…

SpringBoot从配置文件中获取属性的方法

方式一&#xff1a;Value 基本类型属性注入&#xff0c;直接在字段上添加Value("\${xxx.xxx}")即可&#xff0e;注意这里用的是$&#xff0c;而不是&#xff03;&#xff0c;Value注入的属性&#xff0c;一般其他属性没有关联关系。 配置文件 user:name: Manaphya…

Docker介绍、常用命令、项目部署

什么是Docker 简单说&#xff1a;Docker就是一个虚拟机&#xff0c;专业说&#xff1a;它是一个开源的容器平台。它和我们常用的VMware有很多相似的地方。 名词解释 镜像/images 由本体打包出来的文件。并不是文件本身&#xff0c;但是具有该文件的功能。举个不太贴切的例子&…

保姆级教程:从0到1搭建web自动化测试环境

之前都是在linux上安装&#xff0c;第一次在windows上配置环境&#xff0c;加上距离上次配置环境有点久了&#xff0c;竟也花了点时间。特此记录下保姆级教程&#xff0c;给初学者一个有效的参考&#xff01; 一. 环境搭建 工具清单 工具工具名版本Java开发工具包JDK1.8浏览…

2024美赛数学建模思路A题B题C题D题E题F题思路汇总 选题分析

文章目录 1 赛题思路2 美赛比赛日期和时间3 赛题类型4 美赛常见数模问题5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 美赛比赛日期和时间 比赛开始时间&#xff1a;北京时间2024年2月2日&#xff08;周五&#xff…

Spring AOP的环境搭建、切入点表达式、通知注解

Spring AOP的实现 Spring AOP环境搭建AOP坐标依赖引入添加xml配置实现三层架构 定义切入点Pointcut("匹配规则")切入点表达式1. 执行所有的公共方法2.执行任意的set方法3.设置指定包下的任意类的任意方法 (指定包: com.svt.service)4.设置指定包及于包下的任意类的任…

SpringBoot整合ElasticSearch实现CRUD操作

本文来说下SpringBoot整合ES实现CRUD操作 文章目录 概述项目搭建ES简单的crud操作保存数据修改数据查看数据删除数据 本文小结 概述 SpringBoot支持两种技术和es交互。一种的jest&#xff0c;还有一种就是SpringData-ElasticSearch。根据引入的依赖不同而选择不同的技术。反正作…

【如何选择Mysql服务器的CPU核数及内存大小】

文章目录 &#x1f50a;博主介绍&#x1f964;本文内容&#x1f4e2;文章总结&#x1f4e5;博主目标 &#x1f50a;博主介绍 &#x1f31f;我是廖志伟&#xff0c;一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作…

HackTheBox - Medium - Linux - Interface

Interface Interface 是一种中等难度的 Linux 机器&#xff0c;具有“DomPDF”API 端点&#xff0c;该端点通过将“CSS”注入处理后的数据而容易受到远程命令执行的影响。“DomPDF”可以被诱骗在其字体缓存中存储带有“PHP”文件扩展名的恶意字体&#xff0c;然后可以通过从其…

LC 2397. 被列覆盖的最多行数

2397. 被列覆盖的最多行数 2397. 被列覆盖的最多行数 文章目录 2397. 被列覆盖的最多行数二进制枚举代码实现&#xff1a; 递归回溯实现代码实现 Gospers Hack代码实现 难度&#xff1a; 中等 题目大意&#xff1a; 给你一个下标从 0 开始、大小为 m x n 的二进制矩阵 matri…

Midjourney表情包制作及变现最全教程

盘点Midijourney&#xff08;AIGF&#xff09;热门赚米方法&#xff0c;总有一种适合你之AI绘画操作技巧及变现渠道剖析 【表情包制作】 首先我们对表情包制作进行详细的讲解&#xff1a; 当使用 Midjourney&#xff08;AIGF&#xff09; 绘画来制作表情包时&#xff0c;你可以…

python学完之后可以做什么,python学完可以做什么

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;python学完可以做哪些工作&#xff0c;python学完之后可以做什么&#xff0c;今天让我们一起来看看吧&#xff01; Python是一种全栈的开发语言&#xff0c;你如果能学好Python&#xff0c;前端&#xff0c;后端&#x…

【Python机器学习】k近邻——k近邻分类

k-NN算法最简单的版本是只考虑一个最近邻&#xff0c;也就是想要预测的数据点最近的训练数据点&#xff0c;预测结果就是这个训练数据点的已知输出。 除了仅考虑最近邻&#xff0c;还可以考虑任意&#xff08;k个&#xff09;邻居&#xff0c;这也是k近邻算法名字的由来。在考…

Windows 安装配置 Anaconda、CUDA、cuDNN、pytorch-cuda全流程

Windows 安装配置 Anaconda、CUDA、cuDNN、pytorch-cuda全流程 1. 安装Anaconda 网址&#xff1a;https://repo.anaconda.com/archive/ 选择第一个下载即可 双击exe文件&#xff0c;按安装向导安装即可&#xff08;除安装路径自己选择外&#xff0c;其余均可按默认选项&#x…

kubeadm来快速搭建一个K8S集群

二进制搭建适合大集群&#xff0c;50台以下的主机 kubeadm更适合中下企业的业务集群 我们采用了二进制包搭建出的k8s集群&#xff0c;本次我们采用更为简单的kubeadm的方式来搭建k8s集群。 二进制的搭建更适合50台主机以上的大集群&#xff0c;kubeadm更适合中小型企业的集群…

爬虫工作量由小到大的思维转变---<第三十四章 Scrapy 的部署scrapyd+Gerapy>

前言: scrapy-redis没被部署,感觉讲起来很无力;因为实在编不出一个能让scrapy-redis发挥用武之地的案子;所以,索性直接先把分布式爬虫的部署问题给讲清楚!! 然后,曲线救国式地再在部署的服务器上,讲scrapy redis我感觉这样才好! 正文: 现在还有不少人在用scrapy web进行爬虫管…

Axure医疗-住院板块,住院患者原型预览,新增医护人员原型预览,新增病房原型预览,选择床位原型预览,主治医生原型预览,主治医生医嘱原型预览

目录 一.医疗项目原型图-----住院板块 1.1 住院板块原型预览 1.2 新增住院患者原型预览 1.3 新增医护人员原型预览 1.4 新增病房原型预览 1.5 选择床位原型预览 1.6 主治医生原型预览 1.7 主治医生医嘱原型预览 1.8 主治医生查看患者报告原型预览 1.9 护士原型预…

Ubuntu 22.04/20.04 安装 SSH

OpenSSH 是安全远程通信的重要工具&#xff0c;提供了一种安全的方式来访问和管理服务器。对于那些计划在 Ubuntu 22.04 Jammy Jellyfish 或其较旧的稳定版本的 Ubuntu 20.04 Focal Fossa 上安装 SSH 并启用它的人来说&#xff0c;了解其功能和优势至关重要。 OpenSSH的主要特…

node加速镜像源 管理工具nrm安装使用

我们在开发node.js的时候,经常会遇到某些包无法下载, 或者下载太慢, 还有需要加载我们自己是有源中的包的问题, 今天推荐给大家的这款 nrm 镜像源管理工具就是解决这类问题的. 安装 方法也很简单, 执行 npm install nrm -g 就可以安装 # 安装nrm npm install nrm -g# 添加…

普通用户用哪款电脑杀毒软件最好?

前言 各位小伙伴接触到电脑的时候&#xff0c;都一定有听过“电脑一定要安装杀毒软件”这句话。 毕竟在电脑诞生之初到今天&#xff0c;电脑木马和病毒依旧存在。 中了木马或病毒的电脑会出现什么现象&#xff1f;具体得看中了什么样的病毒。 但轻则资料泄漏、电脑瘫痪&…