从零开始搭建监控系统 (二)

news2024/11/16 0:34:08

从零开始搭建监控系统 (二)

监控系统架构

prometheus-alert

部署

文件目录

root@chuango:/opt/prometheus# tree -L 1
.
├── docker-compose.yml
├── grafana_data
├── grafana.ini
├── prometheus_data
└── prometheus.yml
# grafana_data, prometheus_data 2个文件为空目录

docker-compose.yml

version: "3.7"
services:
  node-exporter:
    image: prom/node-exporter:latest
    container_name: "node-exporter0"
    ports:
      - "9100:9100"
    restart: always
  prometheus:
    image: prom/prometheus:latest
    container_name: "prometheus0"
    restart: always
    deploy: 
      resources:
        limits:
          cpus: '0.03'          
          memory: 500M
        reservations:
          cpus: '0.025'
          memory: 200M
    ports:
      - "9090:9090"
    volumes:
      - "./prometheus.yml:/etc/prometheus/prometheus.yml"
      - "./prometheus_data:/prometheus"
  grafana:
    image: grafana/grafana:8.5.24
    container_name: "grafana0"
    ports:
      - "3000:3000"
    restart: always
    deploy: 
      resources:
        limits:
          cpus: '0.03'          
          memory: 500M
        reservations:
          cpus: '0.025'
          memory: 200M
    volumes:
      - "./grafana_data:/var/lib/grafana"
      - "./grafana.ini:/etc/grafana/grafana.ini"
networks:
  default:
    external:
      name: net-dcv2  # 与new_servers同一个网络, 方便使用网络别名通信

prometheus.yml

global:
  scrape_interval:     15s
  external_labels:
    monitor: 'codelab-monitor'
scrape_configs:
  - job_name: 'node-exporter'
    scrape_interval: 5s
    metrics_path: /metrics
    static_configs:
      - targets: ['192.168.1.113:9100'] # 本机ip:9100

grafana.ini

grafana.ini 文件比较特殊,会根据grafana的镜像版本进行更新, 可以通过先运行grafana的方式,将文件映射出来。

docker run -d -v grafana.ini:/etc/grafana/grafana.ini -p 3000:3000 grafana/grafana:8.5.24 grafana0

# 记得删除容器
docker stop grafana0 && docker rm grafana0

若使用 Mysql 作为存储, 需提前在 mysql 创建 grafana databases

REATE DATABASE IF NOT EXISTS grafana;

grafana.ini

# 需对一下配置进行修改
#################################### Server ####################################
[server]
# The public facing domain name used to access grafana from a browser
domain = 192.168.1.113 # 替换为主机ip, 发送邮件连接时的域名

#################################### Database ####################################
[database]
# You can configure the database connection by specifying type, host, name, user and password
# as separate properties or as on string using the url properties.

# Either "mysql", "postgres" or "sqlite3", it's your choice
type = mysql # 使用mysql存储
host = 192.168.1.113:3306 # mysql的服务ip:port
;name = grafana
;user = root
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = dc123456 # 用户名root的密码

#################################### SMTP / Emailing ##########################
[smtp]  # 若使用发送邮件功能, 需提前开启SMTP,POPS协议功能
enabled = true # 若不使用 改为false
host = smtp.chuango.com:465
user = dev01@chuango.com
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = Feishu09091
;cert_file =
;key_file =
skip_verify = true
from_address = dev01@chuango.com
from_name = Grafana

部署

在该目录下执行docker-compose --compatibility up -d,输出正常日志, 则部署监控系统成功

$ docker-compose logs
...
prometheus0     | ts=2023-05-18T08:14:35.302Z caller=repair.go:56 level=info component=tsdb msg="Found healthy block" mint=1684382402583 maxt=1684389600000 ulid=01H0PTH623JBN8
ZBNYW3NSWRWY
prometheus0     | ts=2023-05-18T08:14:36.095Z caller=head.go:587 level=info component=tsdb msg="Replaying on-disk memory mappable chunks if any"
prometheus0     | ts=2023-05-18T08:14:36.152Z caller=head.go:658 level=info component=tsdb msg="On-disk memory mappable chunks replay completed" duration=48.503163ms
prometheus0     | ts=2023-05-18T08:14:36.152Z caller=head.go:664 level=info component=tsdb msg="Replaying WAL, this may take a while"
prometheus0     | ts=2023-05-18T08:14:36.178Z caller=head.go:700 level=info component=tsdb msg="WAL checkpoint loaded"
prometheus0     | ts=2023-05-18T08:14:36.501Z caller=head.go:735 level=info component=tsdb msg="WAL segment loaded" segment=385 maxSegment=389
prometheus0     | ts=2023-05-18T08:14:36.919Z caller=head.go:735 level=info component=tsdb msg="WAL segment loaded" segment=386 maxSegment=389
prometheus0     | ts=2023-05-18T08:14:37.173Z caller=head.go:735 level=info component=tsdb msg="WAL segment loaded" segment=387 maxSegment=389
prometheus0     | ts=2023-05-18T08:14:37.389Z caller=head.go:735 level=info component=tsdb msg="WAL segment loaded" segment=388 maxSegment=389
prometheus0     | ts=2023-05-18T08:14:37.390Z caller=head.go:735 level=info component=tsdb msg="WAL segment loaded" segment=389 maxSegment=389
prometheus0     | ts=2023-05-18T08:14:37.390Z caller=head.go:772 level=info component=tsdb msg="WAL replay completed" checkpoint_replay_duration=25.972689ms wal_replay_duratio
n=1.211796899s wbl_replay_duration=145ns total_replay_duration=1.286326914s
prometheus0     | ts=2023-05-18T08:14:37.398Z caller=main.go:1026 level=info fs_type=EXT4_SUPER_MAGIC
prometheus0     | ts=2023-05-18T08:14:37.398Z caller=main.go:1029 level=info msg="TSDB started"
prometheus0     | ts=2023-05-18T08:14:37.399Z caller=main.go:1209 level=info msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
prometheus0     | ts=2023-05-18T08:14:37.417Z caller=main.go:1246 level=info msg="Completed loading of configuration file" filename=/etc/prometheus/prometheus.yml totalDuratio
n=18.30677ms db_storage=923ns remote_storage=1.017<C2><B5>s web_handler=316ns query_engine=789ns scrape=17.871741ms scrape_sd=104.021<C2><B5>s notify=760ns notify_sd=1.809<C2>
<B5>s rules=1.403<C2><B5>s tracing=3.31<C2><B5>s

登录并查看mysql下相关表创建成功:

mysql> use grafana;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-----------------------------+
| Tables_in_grafana           |
+-----------------------------+
| alert                       |
| alert_configuration         |
| alert_configuration_history |
| alert_image                 |
| alert_instance              |
| alert_notification          |
| alert_notification_state    |
| alert_rule                  |
| alert_rule_tag              |
| alert_rule_version          |
...

相关文档

从零开始搭建监控系统 (一)

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

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

相关文章

下载安装ansible后,缺失pyyaml,pip安装时又出错,升级时又由于时Python2.7,不好升级遇到的一系列问题。

经过上一篇文章&#xff0c;我虽然误删了CentOs自带的python和yum&#xff0c;但是我重新将他们恢复了。这里记住默认的python版本是2.7.5。 我使用yum安装好ansible后&#xff0c;检查我的ansible版本的时候&#xff0c;发生了错误&#xff0c;提示没有yaml模块。 1 验证ans…

js事件循环机制(宏微任务队列都是先进先出)

文章目录 1.什么是事件循环2.主线程、任务队列、同步任务、异步任务、微任务、宏任务&#xff08;1&#xff09;主线程&#xff08;2&#xff09;同步任务&#xff08;3&#xff09;异步任务&#xff08;微任务、宏任务&#xff09;&#xff08;4&#xff09;任务队列 3.执行流…

乔布斯对产品,团队,人才的理解

乔布斯的设计理念和管理理念是他领导Apple取得成功的核心因素。以下是对他在产品设计和团队管理方面理念的详细描述 乔布斯的设计理念 1. 简约主义 简洁与直观&#xff1a;乔布斯强调设计的简约性。他相信产品应该尽可能简单且易于使用&#xff0c;去除一切不必要的复杂性。例如…

AIoT新技术融合基础设计课程开发与运营案例分析

本文来自下面的论文的第4部分&#xff1a;《Research on Basic Engineering Design Course Development and Application of New Technology AIoT (Artificial Intelligence of Things) Convergence Education》&#xff0c;作者是Yunja Hwang&#xff0c;来自韩国檀国大学工学…

IDEA左下角不显示本地修改的localChanges信息-git

IDEA左下角不显示本地修改的localChanges信息-git 取消勾选这个

【RTT-Studio】详细使用教程十:TM1638驱动数码管

文章目录 一、简介二、TM1638地址组三、TM1638的两种数码管使用方式四、TM1638数据格式五、按键扫描和键扫复用六、完整代码 一、简介 TM1638是深圳市天微电子有限公司设计的一款带键盘扫描接口的LED&#xff08;发光二极管显示器&#xff09;驱动控制专用芯片&#xff0c;内部…

React18+Vite+Eectron从入门到实战系列之一环境安装篇

如果我们的技术栈是react&#xff0c;也想要用electron来开发一个桌面的多端应用该怎么做呢&#xff1f;这篇文章选择了react的技术栈&#xff0c;讲解了环境的初始化步骤 实现效果 步骤 创建 react 项目 npm create vitelatest my-react-app安装依赖 cd my-react-app npm i…

勒索软件、供应链攻击等带来的思考!

2023年勒索软件、供应链攻击、地缘政治冲突与黑客活动主义、国家黑客间谍与APT组织活动成为网络安全的热点话题&#xff0c;生成式人工智能技术的武器化更是给动荡的全球网络安全威胁态势增加了不确定性、不对称性和复杂性。 即将到来的2024年&#xff0c;随着网络犯罪的规模化…

基于卷积神经网络ResUnet 多模态融合实验、BraTS 3d数据集(nii.gz)4模态融合分割

1、前言 之前介绍了unet对BraTS 3d数据集的2d图片分割&#xff0c;实现思路如下&#xff1a; 1、对BraTS 3d数据集进行切片&#xff0c;沿着某个模态的横断面切割 2、划分数据集、包括训练集、验证集等等 3、网络训练 4、评估模型性能等等 具体的可以参考本文&#xff1a;…

黑丝或者白丝,都可以用LoRA(Stable Diffusion进阶篇:ComfyUI 附加网络)

前言 在学习WebUI的那些基础知识点的时候&#xff0c;有一个东西是每一个初学者都绕不开的大山-附加网络。 这个东西对于每一个接触Stable Diffusion的小伙伴来说就像是小学门口小卖部卖的辣条、初中课本上的涂鸦、高中数学卷解不开的最后一道大题。 学习过WebUI里Stable Di…

基础岛 - 8G显存验证书生·浦语大模型的Demo

因为以前用过LMDeploy&#xff0c;所以本章的内容相对熟悉。 另外&#xff0c;因为教程写的很详细保姆级&#xff0c;所以大多数情况直接复制执行命令即可。开发机的创建略过。 总体验证结论&#xff1a; LMDeploy的模型加载有点慢&#xff0c;但推理速度快&#xff0c;符合预…

将tsx引入vue

按钮 vue <cl-batch-btn >新增批量</cl-batch-btn> import batch from "//modules/ad/components/ uploading/batch.vue" import ClBatchBtn from "/~/crud/src/components/batch-btn"; tsx

从困境到突破,EasyMR 集群迁移助力大数据底座信创国产化

在大数据时代&#xff0c;企业对数据的依赖程度越来越高。然而&#xff0c;随着业务的不断发展和技术的快速迭代&#xff0c;大数据平台的集群迁移已成为企业数据中台发展途中无法回避的需求。在大数据平台发展初期&#xff0c;国内数据中台市场主要以国外开源 CDH、商业化 CDP…

JVM(十二)细谈JVM类加载的各个过程以及如何修改Java原生API

本文深入探讨了Java虚拟机&#xff08;JVM&#xff09;的类加载机制&#xff0c;包括类的加载、验证、准备、解析和初始化等过程。文章首先通过几个高级面试问题引入主题&#xff0c;然后详细解释了JVM类加载的五个阶段及其重要性。接着&#xff0c;介绍了Java的三个主要类加载…

普通话测试前如何抱佛脚拿高分

全国普通话水平测试对很多大学生而言是最好拿证的考试&#xff0c;当然了对于某些专业的考生也会有更高的拿证要求&#xff0c;例如对于需要考教师资格证的同学而言。希望这篇文章可以帮助到各位考生在普通话水平测试中取得高分。 首先我们需要知道考试考什么 一、测试内容 …

M.2接口

接口分类 key-a key-b key-e key-m接口图片

图吧工具箱:硬件检测的一站式解决方案,好用到让同行都点赞!

前言 嘿&#xff0c;各位硬件迷们&#xff0c;小江湖又来啦&#xff01;今天&#xff0c;我手里可是攥着个宝贝&#xff0c;一个能让你们眼前一亮的神秘工具箱&#xff1b;别急着问是啥&#xff0c;我先卖个关子&#xff0c;就说这工具箱啊&#xff0c;简直是硬件界的“八卦炉”…

8.C基础_指针基础

指针概述 指针存放的都是首地址。 1、定义与初始化 形式&#xff1a;<数据类型>* <变量名> <地址>; int a 10; int *p &a; 指针的类型不同&#xff0c;p时的偏移地址量不同&#xff0c;偏移地址 sizeof(类型)Byte 注意点&#xff1a; 指针的…

LMS4124R-13000S01激光测距仪使用方法【sick LMS4124R-13000S01】

1、下载SOPAS&#xff1a; 点击下载SOPAS 1 SOPAS 自动搜索设备 正常上电及网络连接&#xff0c;打开 SOPAS 自动搜索到 LMS41XXX&#xff0c;并且可以看到其版本号&#xff0c; SN,IP 信息&#xff0c;产品默认 IP 为 192.168.0.1. 2 搜索设备 鼠标双击“LMS41XXX(SN 18460…

15.DMDIS 工具优化

文章目录 前言一、安装部署安装数据源转换作业监控 二、性能优化问题 1 &#xff1a;DMETL 卡顿问题问题 2 &#xff1a;DM -> HIVE 的迁移速度慢问题 3 &#xff1a;ORACLE -> DM 的迁移速度慢问题 4 &#xff1a;GP -> DM 的迁移速度慢问题 5 &#xff1a;DM -> …