当前位置: 首页 > news >正文

开源监控服务uptime-kuma

好久没写文章了,刚好最近用了一个开源的监控服务,感觉蛮有意思的,记录一下

(一)安装

uptime-kuma安装方式有几种,这里当然是选择大家都爱的docker,一条命令搞定

docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

PS一下:
上面的 -v uptime-kuma:/app/data 其实干了两件事,一是创建数据卷uptime-kuma(docker volume create uptime-kuma),至于卷的位置可以(docker volume inspect uptime-kuma)查看,当然一般的话我会指定本地目录,像下面这样,还有就是将该数据卷映射到容器/app/data目录下

docker run -d --restart=always -p 3001:3001 -v /root/docker/uptime-kuma/:/app/data --name uptime-kuma louislam/uptime-kuma:1
#当然这里也可以做目录映射,我感觉我好废话啊

这是项目的github地址
https://github.com/louislam/uptime-kuma

(二)监控docker容器

具体的使用方法就不细讲了,主要简单的说一下怎么对docker容器进行监控
这里一般有两种配置方法,第一种是使用docker socket实现对容器的监控,这个最简单,但需要将/var/run/docker.sock(/run/docker.sock也行)挂在uptime-kuma的容器下,否则uptime-kuma无法使用/var/run/docker.sock监控容器

docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data -v /run/docker.sock:/run/docker.sock --name uptime-kuma louislam/uptime-kuma:1

监控类型选择docker容器,输入待监控的docker 容器的id,这里选择监控uptime-kuma自己
在这里插入图片描述
然后是配置docker宿主信息,这里选择连接方式为socket,然后在守护进程的位置填入docker socket的位置,一般都只在/var/run/docker.sock下(填/run/docker.sock也行),点击测试,连接成功后就会出现右下角的连接成功
在这里插入图片描述

最后保存,就可以了
在这里插入图片描述

第二种方法就是通过开放docker远程api的方式(也就是tcp的连接方式)去监控docker容器的状态,这个方法的好处就在于可以监控不同服务器上的docker容器,一般这个时候都会有个但是,但是开放docker远程api会很危险,一定要注意,因为开放后,就意味着别人可以通过tcp请求直接远程控制你的docker,这非常的危险,别问我为什么知道,因为我就这么干了,然后服务器就中毒了被用来挖矿,docker直接就成了毒窝,所以直接开放docker远程api这么干很危险,很危险,很危险(说三次),那我就是想开放这么办,我就是想监控其他服务器上的docker容器。方法是有的,我想了几个方法

  1. 修改docker默认的远程的api端口
  2. 端口不对外开放,组个内网(可配合方法1使用)
  3. 其实前两个还是不安全,虽然这个api没有用户密码,但是它可以使用证书认证。但之即使你把证书认证配置好了(搜索docker远程api证书认证就有了),但是uptime-kuma的配置页面并没有指定宿主机docker远程api证书的选项,当然也有可能是我没找到,所以还是组个内网吧,端口不对外开放

下面是具体的配置(非证书认证版)
首先。需要在/etc/docker/ 目录下编辑daemon.json文件,添加如下内容

#我的daemon.json里本来就有"registry-mirrors":["https://selwkcml.mirror.aliyuncs.com"],所以这里你只需要在你的daemon.json追加"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]就好了,还有就是如果你的daemon.json有其他内容,一定不要忘记配置项后面的逗号
{       "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"],"registry-mirrors":["https://selwkcml.mirror.aliyuncs.com"]
}

完成上的步骤后,使用systemctl edit docker.service编辑/etc/systemd/system/docker.service.d/override.conf文件,一般给文件都是空的,要不就全都被注释了,添加如下内容

[Service]
#The blank ExecStart is required to clear the current entry point
ExecStart=
#Replace the existing ExecStart but only remove the properties that you have added into the daemon.json file, leave all else the same.
ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock

如果一直保存失败,可能是因为/etc/systemd/system/下没有docker.service.d目录,可以手动建一个docker.service.d目录,然后编辑override.conf文件,搞定后重启docker进程

systemctl restart docker.service

然后在uptime-kuma上配置,保存就ok了
在这里插入图片描述

PS:使用docker远程api就不需要/var/run/docker.sock将挂载到uptime-kuma下,还有最后就是开放2375端口,我的建议是,最好不要开放端口,要不然就在内网内,还有就是证书鉴权

这里贴一下我的博客,记录了因为开放docekr远程api而被攻击的这件事,写的比较烂,hh

传送门

要不是被攻击了,这篇文章在上周就发了,该死的黑客,不过我也知道他的服务器ip了,而且他的redis还没有密码,看能不能想办法干他一炮

还有就是随着对docker使用,我感觉docker是真香阿,比如说这个监控服务,还有就是我的博客halo,用的也是docker,还有就是用docker搭建聊天服务,在线云盘等等等…,还有公司业务现在也全都跑在docker上,香,真香

最后的最后,uptime-kuma除了监控docker容器,他还可一监控http,tcp,ping,grpc,dns,steam游戏服务器,mqtt,redis,mysql等等,还有各种通知告警方式,这里就直接贴图吧,唯一的遗憾,真的只能监控,hh

在这里插入图片描述

(三)结语

如果有什么错误的地方,还请大家批评指正。最后,希望小伙伴们都能有所收获。写这些,仅记录自己学习使用docker过程

在这里插入图片描述

相关文章:

开源监控服务uptime-kuma

好久没写文章了,刚好最近用了一个开源的监控服务,感觉蛮有意思的,记录一下 (一)安装 uptime-kuma安装方式有几种,这里当然是选择大家都爱的docker,一条命令搞定 docker run -d --restartalways -p 3001:…...

JavaScript混淆技术:了解其核心原理和常用手段

当今互联网时代,JavaScript已经成为了web前端开发的重点技术之一。其中,JavaScript代码的安全性问题一直是关注的焦点。为了保护JavaScript代码的安全性,很多人对其进行加密处理,众所周知,对于单纯的加密算法&#xff…...

大型医院云HIS系统:采用前后端分离架构,前端由Angular语言、JavaScript开发;后端使用Java语言开发 融合B/S版电子病历系统

一套医院云his系统源码 采用前后端分离架构,前端由Angular语言、JavaScript开发;后端使用Java语言开发。融合B/S版电子病历系统,支持电子病历四级,HIS与电子病历系统均拥有自主知识产权。 文末卡片获取联系! 基于云计…...

SAP UI5 Upload/Download file through NetWeaver Gateway

1、创建 SEGW对象 2、创建Entity Type 要把Media 标识打上 3、 激活对象然后到DPC Class的扩展对象里面重定义 /IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_STREAM /IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_STREAM /IWBEP/IF_MGW_APPL_SRV_RUNTIME~UPDATE_STREAM METHOD /iwbep/if_m…...

opencv校正图像

目录1、前言2、例程2.1、代码2.2、效果口罩说明书网页3、按步骤分析转灰度图降噪 Canny边缘检测膨胀(可视具体情况省略)轮廓检索选取角度1、前言 我们用相机拍照时,会因为角度问题造成拍歪,会影响图像的识别,这时就需…...

JavaScript:函数与箭头函数的区别

ref 1. 定义 函数 function getName() {}箭头函数 const getName () > {}2. 命名 函数分为匿名、具名。 function getName() {} let getName function () {}箭头函数只有匿名。 const getName () > {}3. 构造函数 箭头函数都是匿名函数,所以不能作为构造…...

八股文(四)

目录 一、 Vue2的双向数据绑定原理 二、 vue2数据绑定缺点是什么?vue3是怎么解决的? (1)因为vue2.0 object.defineProperty只能劫持对象属性 (2)Proxy是直接代理对象 (3)proxy不…...

XSS挑战赛(xsslabs)1~10关通关解析

简介 XSS挑战赛,里面包含了各种XSS的防御方式和绕过方式,好好掌握里面的绕过细节,有助于我们更好的去发现XSS漏洞以及XSS的防御。本文更多的是分享解析的细节,不是一个标准的答案,希望大家在渗透的时候有更多的思维。…...

什么是以太网供电POE

POE指的是以太网供电,就是一根网线在传输网络的同时还传输设备所需的电源。我们最常见的就是通过POE交换机连接网络摄像头,网络摄像头无需的电源适配器,仅靠一根网线就能实现电源和网络的传输。POE供电一般可以到100米。POE包含两个部分&…...

【JUC2022】第七章 AQS、ReentrantReadWriteLock 和 StampedLock

【JUC2022】第七章 AQS 文章目录【JUC2022】第七章 AQS一、AQS1.概述2.同步器3.抽象的4.队列式二、ReentrantReadWriteLock1.概述2.案例3.存在的问题三、StampedLock1.概述2.案例3.存在的问题一、AQS 1.概述 AQS(AbstractQueueSynchronizer,抽象的队列式同步器)&am…...

Spark 磁盘作用

Spark 磁盘作用磁盘作用性能价值失败重试ReuseExchangeSpark 导航 磁盘作用 临时文件、中间文件、缓存数据,都会存储到 spark.local.dir 中 在 Shuffle Map 时, 当内存空间不足,就会溢出临时文件存储到磁盘上溢出的临时文件一起做归并计算…...

三、Spark 内存管理

文章目录Spark 内存管理堆内和堆外内存堆内内存堆外内存堆外与堆内的平衡内存空间分配静态内存管理(早期版本)统一内存管理Spark 内存管理 堆内和堆外内存 Spark 引入了堆外(Off-heap)内存,使之可以直接在工作节点的…...

Java 面试常见项目问题回答

之前整理了好几期,我面试时遇到的面试候选人,我是如何我去筛选的,这一期,我们来看下一些 面试常问的业务性的问题 你们公司权限认证是如何实现的? 这其实是个通用性的问题,大部分公司 小型公司,或者中型公…...

文件上传和下载(原生JS + SpringBoot实现)

目录 概述 前端编写-上传表单和图片回显 HTML表单代码 发送请求逻辑 CSS代码 后端编写-文件上传接口 后端编写-文件下载接口 概述 在现代Web应用程序中,文件上传和下载是常见的功能。本博客将介绍如何使用原生JS和Spring Boot实现文件上传和下载的功能。 在其…...

【C语言学习笔记】:安全性

用const修饰变量或方法,从而告诉编译器这些都是不可变的,有助于编译器优化代码,并帮助开发人员了解函数是否有副作用。此外,使用const &可以防止编译器复制不必要的数据。John Carmack对const的评论[2]值得一读。 // Bad Ide…...

Linux - 磁盘存储管理 磁盘引入

# 我们要介绍下 磁盘管理, 那不妨先来看一张图来简单 引入 :这张图呢,是我们 Windows 上的磁盘管理的显示 。根据这幅图呢,提出一个问题 :>>> 这幅图磁盘管理所显示的内容,你能判断出 该电脑 有几…...

分割std::string成多个string

文章目录问题描述前置知识解决代码问题描述 假设我们有一个http服务器,此服务器接收客户端发来的http请求,假设请求如下 GET / HTTP/1.1我们怎么将这个Http请求分割成三份,分别存入不同的string中分别处理? 前置知识 首先std::string的本…...

3月多国更新进出口产品规定

【3月多国更新进出口产品规定】2023年3月多项外贸新规实施,涉及欧盟,伊拉克,泰国,孟加拉国,埃及等多国进出口产品限制及海关税则。1. 3月1日起给予埃塞俄比亚等三国98%税目产品零关税待遇中国国务院关税税则委员会17日…...

nacos相关面试题

Nacos是阿里巴巴开源的一款注册中心和配置中心,它能够实现服务的注册、发现和配置管理等功能。Nacos的实现原理主要分为以下几个部分:注册中心:Nacos作为注册中心,通过提供RESTful API的方式对外提供注册和发现服务。它使用基于Ra…...

Linux基础命令-groupmems管理组群的成员

Linux-usermod修改用户 Linux-useradd创建用户 Linux-userdel删除用户 Linux基础命令-chown修改文件属主 Linux基础命令-chmod修改文件权限 groupmems 命令介绍 先来看看这个命令的帮助信息是什么概念 NAME groupmems - administer members of a user’s primary group group…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

rknn toolkit2搭建和推理

安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 &#xff0c;不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源&#xff08;最常用&#xff09; conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...

基于单片机的宠物屋智能系统设计与实现(论文+源码)

本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢&#xff0c;连接红外测温传感器&#xff0c;可实时精准捕捉宠物体温变化&#xff0c;以便及时发现健康异常&#xff1b;水位检测传感器时刻监测饮用水余量&#xff0c;防止宠物…...

2025-05-08-deepseek本地化部署

title: 2025-05-08-deepseek 本地化部署 tags: 深度学习 程序开发 2025-05-08-deepseek 本地化部署 参考博客 本地部署 DeepSeek&#xff1a;小白也能轻松搞定&#xff01; 如何给本地部署的 DeepSeek 投喂数据&#xff0c;让他更懂你 [实验目的]&#xff1a;理解系统架构与原…...

二叉树-144.二叉树的前序遍历-力扣(LeetCode)

一、题目解析 对于递归方法的前序遍历十分简单&#xff0c;但对于一位合格的程序猿而言&#xff0c;需要掌握将递归转化为非递归的能力&#xff0c;毕竟递归调用的时候会调用大量的栈帧&#xff0c;存在栈溢出风险。 二、算法原理 递归调用本质是系统建立栈帧&#xff0c;而非…...