当前位置: 首页 > 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…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

无法与IP建立连接,未能下载VSCode服务器

如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O…...