
uptime-kuma一款輕量級監(jiān)控利器!
監(jiān)控工具一直是我們日常工作中必備的利器之一,在之前推送的文章中,也介紹了非常多的好用、實用的監(jiān)控工具,需要了解的讀者朋友們可以點擊文首監(jiān)控系統(tǒng)專欄查閱相關的文章。
今天,給大家介紹別一款開源監(jiān)控利器!
uptime-kuma介紹
uptime-kuma 是一款開源的、多功能的服務器監(jiān)控面板。其功能類似于 Uptime Robot。但相較于其它同類工具,Uptime Kuma 支持自托管服務,且限制更少。
Uptime-Kuma 是一個輕量的監(jiān)控工具, 并且有著非常好看的監(jiān)控 Dashboard 面板, 并且它支持豐富的告警方式, 只需要花幾分鐘的時間就可以搭建一個監(jiān)控應用,如果您對這個項目有興趣,可以在github上面找到它。
github地址:
https://github.com/louislam/uptime-kuma功能介紹
支持的功能也相對較為豐富:
監(jiān)控HTTP(s)/TCP/HTTP(s)關鍵字/Ping/DNS記錄/推送/Steam Game Server等的正常運行時間。支持豐富的通知渠道,如通過Telegram、Discord、Gotify、Slack、Pushover、電子郵件 (SMTP) 和70 多種通知服務發(fā)送通知,請單擊此處查看完整列表。20 second intervals.支持多種語言簡潔的狀態(tài)頁面Ping圖監(jiān)控證書信息
安裝
注:監(jiān)控服務與被監(jiān)控的服務不要放在同一個服務器上,并且監(jiān)控服務重要等級應該為level 1.
Docker 安裝docker?run?-d?--restart=always?-p?3001:3001?-v?uptime-kuma:/app/data?--name?uptime-kuma?louislam/uptime-kuma:1
通過docker-compose安裝
version:?"3"services:???uptime-kuma:????image:?louislam/uptime-kuma:1.11.4????container_name:?"uptime-kuma"????restart:?"always"????volumes:???????-?"/etc/localtime:/etc/localtime"??????-?"/data/uptimekuma:/app/data"????ports:???????-?"3001:3001"
配置nginx(可選)
server?{????server_name?status.devopsman.cn;????listen?443?ssl?http2;????ssl_certificate?/www/server/panel/vhost/nginx/ssl/status.devopsman.cn_bundle.pem;????ssl_certificate_key?/www/server/panel/vhost/nginx/ssl/status.devopsman.cn.key;????location?/?{???????proxy_pass?http://127.0.0.1:3001;???????proxy_http_version?1.1;???????proxy_set_header?Upgrade?$http_upgrade;???????proxy_set_header?Connection?"upgrade";????}????access_log??/www/wwwlogs/uptimestatus.log?main;????error_log?/www/wwwlogs/uptimestatus.error.log;}
相比blackbox_exporter去監(jiān)控url和證書,這個就顯示很高大上了,花里胡哨的監(jiān)控面板,有時候更適合給領導和客戶欣賞。
使用
部署完畢后,我們可以通過http://ip:3001來訪問uptime-kuma(注意安全組放行3001端口),首次訪問需要設置管理員賬號、密碼,根據提示完成即可。進入后臺后可根據需要添加對應類型的監(jiān)控,支持TCP/PING/HTTP等。另外uptime-kuma還支持多種監(jiān)控告警方式,根據需要進行設置即可。
監(jiān)控docker容器
具體的使用方法就不細講了,主要簡單的說一下怎么對docker容器進行監(jiān)控。
這里一般有兩種配置方法,第一種是使用docker socket實現對容器的監(jiān)控,這個最簡單,但需要將/var/run/docker.sock(/run/docker.sock也行)掛在uptime-kuma的容器下,否則uptime-kuma無法使用/var/run/docker.sock監(jiān)控容器。
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
監(jiān)控類型選擇docker容器,輸入待監(jiān)控的docker 容器的id,這里選擇監(jiān)控uptime-kuma自己。然后是配置docker宿主信息,這里選擇連接方式為socket,然后在守護進程的位置填入docker socket的位置,一般都只在/var/run/docker.sock下(填/run/docker.sock也行),點擊測試,連接成功后就會出現右下角的連接成功。最后保存,就可以了。第二種方法就是通過開放docker遠程api的方式(也就是tcp的連接方式)去監(jiān)控docker容器的狀態(tài),這個方法的好處就在于可以監(jiān)控不同服務器上的docker容器,一般這個時候都會有個但是,但是開放docker遠程api會很危險,一定要注意,因為開放后,就意味著別人可以通過tcp請求直接遠程控制你的docker,這非常的危險,別問我為什么知道,因為我就這么干了,然后服務器就中毒了被用來挖礦,docker直接就成了毒窩,所以直接開放docker遠程api這么干很危險,很危險,很危險(說三次),那我就是想開放這么辦,我就是想監(jiān)控其他服務器上的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?pointExecStart=#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端口,我的建議是,最好不要開放端口,要不然就在內網內,還有就是證書鑒權。
參考文章:https://blog.csdn.net/weixin_43810267/article/details/129283659 https://cloud.tencent.com/developer/article/2072018
[超站]友情鏈接:
四季很好,只要有你,文娛排行榜:https://www.yaopaiming.com/
關注數據與安全,洞悉企業(yè)級服務市場:https://www.ijiandao.com/

隨時掌握互聯(lián)網精彩
- 1 重農固本是安民之基、治國之要 7904551
- 2 樺加沙強度接近地球上限?回應來了 7809616
- 3 廣東部分商超被搬空 只有辣椒被剩下 7714540
- 4 和古人一起沉浸式收割曬谷 7617983
- 5 男子撿菌子 一抬頭黑熊呲牙站面前 7522011
- 6 美國公布六代機動畫 網友不買賬 7423755
- 7 護網:社交賬號不受控制?木馬在作祟 7333605
- 8 全球最強臺風明日登陸廣東 7234532
- 9 盧卡申科:波蘭這么做對中國不友好 7137834
- 10 59歲大爺放下百萬生意演短劇 7045002