Linux tar包安装 Prometheus 和 Grafana(知识点:systemd Unit/重定向)

0. 介绍

用tar包的方式安装 Prometheus 和 Grafana

  • Prometheus:开源的监控方案
  • Grafana:将Prometheus的数据可视化平台

Prometheus已经有了查询功能为什么还需要grafana呢?Prometheus基于promQL这一SQL方言,有一定门槛!Grafana基于浏览器的操作与可视化图表大大降低了理解难度


1. Prometheus

1. 下载 与 解压
  • 官网下载: https://prometheus.io/download/#prometheus
  • 上传至机器
  • 解压命令:tar -xzf prometheus-*.tar.gz
2. 启动与暂停
  • 进入解压后的文件夹:cd prometheus-*
    ll命令可以发现可执行文件 prometheus 和 prometheus.yml ,分别是启动文件和配置文件

启动prometheus我们可以编写systemd unit 服务,也可以直接nohup &直接挂起

2.1 挂起后台启动:

nohup ./prometheus --config.file=prometheus.yml --web.enable-admin-api --web.enable-lifecycle > nohup.out 2>&1 &

  • –web.enable-admin-api: 开启API服务,为下个参数动态加载配置打基础
  • –web.enable-lifecycle : 这个配置后,可以动态加载配置文件而无需重启prometheus,具体命令是 curl -X POST Prometheus所在机器ip:Prometheus监控的端口/-/reload
  • 2>&1 :标准错误输出重定向标准输出, &>filename 可以实现也是一样的效果.2>&1 是旧shell写法兼容性更高点
  • nohup …&:
    • & 只是将命令置于后台,但是命令仍与终端窗口关联.导致默认情况下,命令的标准输出和标准错误输出仍然连接到终端;
    • nohup 将命令放入后台运行,并且它会将命令的标准输出和标准错误输出重定向到一个名为 nohup.out 的文件中,这样即使你关闭终端,命令也会继续运行,并且输出会写入到 nohup.out 文件中。
    • 看起来nohup拥有了 &的效果,为什么还用&?一方面是 &比nohup更兼容 另一方面是 单独nohup后,你需要手动 ctrl+z 将命令挂起, 配合 &可以马上放入后台运行~

ps -ef|grep prometheus 命令可以查看prometheus进程信息

2.2 systemd service 启动

创建prometheus.service 文件,不熟悉systemd定时器可以去看看阮老大文章Systemd 定时器教程
,这里我的prometheus 在/opt下,各位注意换成自己的路径

[Unit]
Description=Prometheus
After=network.target
[Service]
Type=simple
ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus.yml --web.enable-admin-api --web.enable-lifecycle
Restart=on-failure 
[Install]
WantedBy=multi-user.target

将上述文件保存到 /etc/systemd/system 目录后,输入下列命令

#1.加载系统服务
sudo systemctl daemon-reload
#2.启动服务
sudo systemctl start prometheus.service
#3.设置为系统自启动
sudo systemctl enable prometheus.service
#4 .查看状态
sudo systemctl status prometheus.service

  • Type=simple:该服务是个简单基本的服务,一旦启动命令被执行,systemd 将认为服务已经启动完成,不会监视服务进程的运行状态或退出。对于启动后会一直运行的服务(如守护进程)非常适用,因为它们会在后台运行而不会立即退出。
  • Restart:指定服务在失败或退出后是否自动重启.no/always/on-failure(非零退出代码(失败)退出时)/on-abnormal(服务以异常退出时(如由信号终止))

下面是systemd其他常用命令

停止服务
sudo systemctl stop prometheus.service
关闭自启动
sudo systemctl disable prometheus.service

3. web查看

浏览器 打开 Prometheus所在机器ip:9090 (默认端口9090)

4. 修改配置文件yml

先说两个辅助命令:

  1. Prometheus 根目录下自带了一个 检查配置文件是否正确的小工具 promtool,
    使用语法:

    ./promtool check config prometheus.yml

  2. 之前启动命令配置了 热启动(enable-lifestyle),所以我们可以通过命令热更新配置文件无需重启整个Prometheus

    curl -X POST ip:port/-/reload


2. Grafana

Grafana 和 Prometheus安装步骤类似,官网文档 https://grafana.com/docs/grafana/latest

2.1 下载 和安装
  • 下载页: https://grafana.com/grafana/download
  • 上传至目标机器
  • tar -xzvf XX.tar.gz
2.2 启动和停止服务

grafana的启动脚本在 根目录下的bin文件夹,叫 grafana-server
启动,这里只写了nohup命令,systemd 的server文件参考上面的Prometheus的

nohup ./bin/grafana-server 2>&1 &

停止服务,nohup就kill 掉,systemd 就 systemctl stop xx.service

3. web查看

浏览器 打开 grafana安装机器ip:3000 (默认端口3000),第一次登录用户/密码均是 admin,之后按提示更改密码即可

4. grafana配置文件修改

待补充

5. grafana模板

grafana 模板可以在 https://grafana.com/grafana/dashboards/ 寻找,
之后在grafana左侧sidebar的dashboards->import 面板导入使用


3.现在的不足

我们现在有了Prometheus 和Grafana~

但是Prometheus去哪里抓取数据呢?(Prometheus是pull模型)因此有了各种各样的export用于对主机进行数据刮削,需要在被监控的主机中按需按照export

现在的链路是 export(刮削数据)->Prometheus主动抓取export(export注册发现?配置在Prometheus的配置文件中)->grafana(导入Prometheus数据源后即可展示)

现在还缺什么?告警组件,监控平台除开数据的展示外,另一个重要的功能就是当某些数据达到阈值后进行主动告警!

Prometheus生态下的告警组件是 alertmanager,但是不包含Prometheus中,需要你额外安装配置,prometheus server获取监控指标,基于这些指标定义规则(rules),若这些指标满足告警规则便将信息推送到Alertmanager

alert manager的编写阈值规则稍微有些复杂,但是有 https://samber.github.io/awesome-prometheus-alerts/rules.html 这样的前人分析了规则供我们借鉴的网站,所以还好

grafana web界面也可以配置alert,但是没研究过

上述介绍就放到后续文章中吧!

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

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

相关文章

Vue3 setup tsx 子组件向父组件传值 emit

需求:Vue3 setup 父组件向子组件传值,子组件接收父组件传入的值;子组件向父组件传值,父组件接收的子组件传递的值。 父组件:parent.tsx: import { defineComponent, ref, reactive } from vue; import To…

【Android】okhttp爆java.lang.IllegalStateException: closed的解决方法

解决 java.lang.IllegalStateException: closed异常通常是由于OkHttp中的Response对象在调用response.body().string()后被关闭而导致的。 在代码中,在onResponse()方法中如果两次调用了response.body().string(),每次调用都会消耗掉响应体并关闭Respo…

如何优化PHP Smarty模板的性能?

Smarty模板是一种非常强大的模板引擎,但是如果不正确地使用,可能会导致你的网站慢得像一只树懒! 那么,如何优化Smarty模板的性能呢? 减少Smarty对象的创建 你可能会在代码中多次创建Smarty对象。但是,每次…

Server - 文字转语音 (Text to Speech) 的在线服务 TTSMaker

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132287193 TTSMaker 是一款免费的文本转语音工具,提供语音合成服务,支持多种语言,包括英语、法语、德语、西班…

什么是冒烟测试?

冒烟测试,刚进公司就接触到了。只是刚开始一直没有体会到冒烟的含义和精髓,一直以为是冒烟测试就是把待测产品的主要功能测试一下就行了。后面回想一下,不是那么回事的。 冒烟测试源自硬件行业,对一个硬件或者硬件组件改动后&…

Exams/ece241 2013 q4

蓄水池问题 S3 S2 S1 例如:000 代表 无水 ,需要使FR3, FR2, FR1 都打开(111) S3 S2 S1 FR3 FR2 FR1 000 111 001 011 011 001 111 000 fr代表水变深为…

快手商品详情数据API 抓取快手商品价格、销量、库存、sku信息

快手商品详情数据API是用来获取快手商品详情页数据的接口,请求参数为商品ID,这是每个商品唯一性的标识。返回参数有商品标题、商品标题、商品简介、价格、掌柜昵称、库存、宝贝链接、宝贝图片、商品SKU等。 接口名称:item_get 公共参数 名…

【PostgreSQL的CLOG解析】

同样还是这张图,之前发过shared_buffer和os cache、wal buffer和work mem的文章,今天的主题是图中的clog,即 commit log,PostgreSQL10之前放在数据库目录的pg_clog下面。PostgreSQL10之后修更名为xact,数据目录变更为pg_xact下面&…

WPF 本地化的最佳做法

WPF 本地化的最佳做法 资源文件英文资源文件 en-US.xaml中文资源文件 zh-CN.xaml 资源使用App.xaml主界面布局cs代码 App.config辅助类语言切换操作类资源 binding 解析类 实现效果 应用程序本地化有很多种方式,选择合适的才是最好的。这里只讨论一种方式&#xff0…

pytorch单机多卡后台运行

nohup sh ./train_chat.sh > train_chat20230814.log 2>1&参考资料 Pytorch单机多卡后台运行的解决办法

kafka-2.12使用记录

kafka-2.12使用记录 安装kafka 2.12版本 下载安装包 根据你的系统下载rpm /deb /zip包等等, 这里我使用的是rpm包 安装命令 rpm -ivh kafka-2.12-1.nfs.x86_64.rpm启动内置Zookeeper 以下命令要写在同一行上 /opt/kafka-2.12/bin/zookeeper-server-start.sh /opt/kafka-2…

实验二十八、三角波发生电路参数的确认

一、题目 利用 Multisim 确定图1所示电路中各元件的参数,使输出电压的频率为 500 Hz 500\,\textrm{Hz} 500Hz、幅值为 6 V 6\,\textrm{V} 6V 的三角波。 图 1 三角波发生电路 图1\,\,三角波发生电路 图1三角波发生电路 2、仿真电路 A 1 \textrm A_1 A1​ 采用…

深入解析 MyBatis 中的 lt;foreachgt; 标签:优雅处理批量操作与动态 SQL

在当今的Java应用程序开发中&#xff0c;数据库操作是一个不可或缺的部分。MyBatis作为一款颇受欢迎的持久层框架&#xff0c;为我们提供了一种优雅而高效的方式来管理数据库操作。在MyBatis的众多特性中&#xff0c;<foreach>标签无疑是一个强大的工具&#xff0c;它使得…

sift-1M数据集的读取及ES插入数据

sift是检查ann近邻召回率的标准数据集,ann可以选择faiss,milvus等库或者方法;sift数据分为query和base,以及label(groundtruth)数据。本文采用sift-1M进行解读,且看如下: 1、sift-1m数据集 官方链接地址:Evaluation of Approximate nearest neighbors: large datase…

Java:简单算法:冒泡排序、选择排序、二分查找

冒泡排序 // 1、准备一个数组 int[] arr {5&#xff0c;2&#xff0c;3&#xff0c;1};//2、定义一个循环控制排几轮 for (int i 0; i < arr.length - 1; i) { // i 0 1 2 【5&#xff0c;2&#xff0c;3&#xff0c;1】 次数 // i 0 第一轮 0 1 2 …

P4377 [USACO18OPEN] Talent Show G

P4377 [USACO18OPEN] Talent Show G [P4377 USACO18OPEN] Talent Show G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 文章目录 P4377 [USACO18OPEN] Talent Show G题目题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示样例解释数据规模与约定 思路code 题目 …

onlyoffice

一、功能描述 技术实现 选型&#xff1a;minio 文件存储服务器 onlyoffice 文档编辑器 选项特征&#xff1a;免费&#xff0c;支持私有化部署&#xff0c;不依赖第三方网络接口 Podman是RedHat开发的一个用户友好的容器调度器&#xff0c;是一种开源的Linux原生工具&#x…

「网络」网络安全必须知道的19个知识分享

一、防火墙&#xff08;Firewall&#xff09; 定义&#xff1a;都知道防火墙是干什么用的&#xff0c;但我觉得需要特别提醒一下&#xff0c;防火墙抵御的是外部的攻击&#xff0c;并不能对内部的病毒 ( 如ARP病毒 ) 或攻击没什么太大作用。 功能 : 防火墙的功能主要是两个网…

Vue2-收集表单数据、过滤器、内置指令与自定义指令、Vue生命周期

&#x1f954;&#xff1a;我徒越万重山 千帆过 万木自逢春 更多Vue知识请点击——Vue.js VUE2-Day4 收集表单数据1、不同标签的value属性2、v-model的三个修饰符 过滤器内置指令与自定义指令1、内置指令2、自定义指令定义语法&#xff08;1&#xff09;函数式&#xff08;2&am…

文献综述|NLP领域后门攻击、检测与防御

前言&#xff1a;在信息安全中后门攻击&#xff08;Backdoor Attack&#xff09;是指绕过安全控制而获取对程序或系统访问权的方法。而随着深度学习以及各种神经网络模型的广泛应用&#xff0c;神经网络中存在的后门问题也引起了研究人员的广泛关注。神经网络后门攻击就是使网络…