日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

localhost使用ipv4_使用 blackbox exporter 实现域名证书过期监控

發(fā)布時間:2023/12/19 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 localhost使用ipv4_使用 blackbox exporter 实现域名证书过期监控 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

個人網(wǎng)站我一般使用 [Let's Encrypt](https://letsencrypt.org/) 的免費 CA 證書,當(dāng)網(wǎng)站一多管理這些證書就顯得比較麻煩,所以我非常希望有一個工具,能夠?qū)⑦@些域名服務(wù)狀態(tài)都列出來,包括證書過期時間、訪問延遲、以及請求狀態(tài)碼等。

恰好上周看到 Grafana Labs 的一篇博客 [How we eliminated service outages from ‘certificate expired’ by setting up alerts with Grafana and Prometheus](https://grafana.com/blog/2020/11/25/how-we-eliminated-service-outages-from-certificate-expired-by-setting-up-alerts-with-grafana-and-prometheus/) 中講到了使用 Grafana 的 表格視圖來展示域名證書監(jiān)控信息,覺得非常受用,驚呼這不就是我長期想要的東西嗎?

Grafana 監(jiān)控面板效果圖

迫不及待,我立馬在本地搭建了一套測試環(huán)境體驗了一下,下面是整個測試過程。

本地測試環(huán)境搭建

我是在 Mac 上使用 Docker 搭建的測試環(huán)境,網(wǎng)絡(luò)拓?fù)淙缦?#xff1a;

因為服務(wù)之間要相互訪問,為了防止重啟 container 導(dǎo)致IP地址變化,故創(chuàng)建了一個叫做 `mynetwork` 網(wǎng)段為 `172.18.0.0/16` 的自定義網(wǎng)絡(luò)。創(chuàng)建容器的時候可以通過 `--ip` 手動分配靜態(tài) IP,各容器分配的 IP 地址如上圖。

啟動 nginx 容器

啟動 nginx 之前我們需要創(chuàng)建測試域名的證書和配置文件,本次測試涉及三個域名(www.test01~3.com)。

創(chuàng)建域名證書

使用?`genrsa.sh` 腳本批量創(chuàng)建自簽名證書,腳本內(nèi)容如下:

#!/bin/bash#1、該腳本支持自動生成私有證書# ,用$1,$2....表示,第1,2...個參數(shù),分表表示域名和過期時間if [ "$#" -ne 2 ]; then echo "genrsa.sh www.test01.com 60" exit 1fireadonly DOMAIN=$1readonly EXPIRATION=$2openssl genrsa -out $DOMAIN.key 2048openssl req \ -subj "/C=CN/ST=Beijing/L=Beijing/O=Tester/OU=Tester Software/CN=$DOMAIN/emailAddress=test@prometheus.show" \ -new \ -key $DOMAIN.key \ -out $DOMAIN.csropenssl x509 \ -req \ -days $EXPIRATION \ -in $DOMAIN.csr \ -signkey $DOMAIN.key \????-out?$DOMAIN.crt

運行效果:

創(chuàng)建 nginx 配置文件

# touch nginx/conf.d/www.test01.com.confserver { listen 443 ssl; server_name www.test01.com; ssl_certificate ssl/www.test01.com.crt; ssl_certificate_key ssl/www.test01.com.key; location / { return 200; }}# touch nginx/conf.d/www.test02.com.confserver { listen 443 ssl; server_name www.test02.com; ssl_certificate ssl/www.test02.com.crt; ssl_certificate_key ssl/www.test02.com.key; location / { return 403; }}# touch nginx/conf.d/www.test03.com.confserver { listen 443 ssl; server_name www.test03.com; ssl_certificate ssl/www.test03.com.crt; ssl_certificate_key ssl/www.test03.com.key; location / { return 200; }}
  • 創(chuàng)建了三個域名所需的證書和配置文件。

  • 網(wǎng)站 www.test02.com 返回 403 狀態(tài)碼,其它返回 200。

執(zhí)行容器啟動命令

docker run -d --name nginx \ --net mynetwork --ip 172.18.0.2 \ -v `pwd`/nginx/ssl:/etc/nginx/ssl:ro \ -v `pwd`/nginx/conf.d:/etc/nginx/conf.d \ nginx

到此為止用于測試的 nginx 容器就啟動起來了,它包了 www.test01~3.com 三個測試域名,每個域名都有自己的證書,每個證書過期時間不同。

啟動 blackbox exporter

用于測試的網(wǎng)站已經(jīng)部署完成,接下來部署 blackbox exporter。

創(chuàng)建 blackbox.yml

modules: http_2xx: prober: http http: preferred_ip_protocol: "ip4" tls_config: insecure_skip_verify: true
  • 這里使用 blackbox exporter 的 http 探針。

  • 當(dāng)執(zhí)行 http 探測的時候,指定使用 ipv4 協(xié)議,因為是自簽名證書,故配置?`insecure_skip_verify: true`。

執(zhí)行啟動命令

docker run -d -p 9115:9115 \ --name blackbox_exporter \ --net mynetwork --ip 172.18.0.3 \ --add-host www.test01.com:172.18.0.2 \ --add-host www.test02.com:172.18.0.2 \ --add-host www.test03.com:172.18.0.2 \ -v `pwd`:/config \ prom/blackbox-exporter:v0.18.0 --config.file=/config/blackbox.yml

要探測 www.test01~3.com 這三個域名,所以需要通過 `--add-host` 手動指定其解析的 IP 為 nginx 容器地址。

啟動 Prometheus

當(dāng) blackbox exporter 部署完成后,我們需要部署 Prometheus 來抓取和存儲數(shù)據(jù)。

更新 prometheus.yml 配置文件

scrape_configs: - job_name: 'blackbox' metrics_path: /probe params: module: [http_2xx] static_configs: - targets: - https://www.test01.com - https://www.test02.com - https://www.test03.com relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__????????replacement:?blackbox01.com:9115
  • 通過靜態(tài) static_configs 指定需要探測地址為 www.test01~03.com。

  • 通過 relabel_configs 將實際的 metrics 獲取地址重定向到 blackbox exporter 的地址,即我們配置的 172.18.0.3,這里使用了 `blackbox01.com` 域名來代替。

執(zhí)行容器啟動命令

docker run -d -p 9090:9090 \ --name prometheus \ --net mynetwork --ip 172.18.0.4 \ --add-host blackbox01.com:172.18.0.3 \ -v `pwd`/prometheus.yml:/etc/prometheus/prometheus.yml \????prom/prometheus:v2.23.0

啟動并配置 Grafana

經(jīng)過上面的操作,已經(jīng)能夠在 Prometheus 的 graph 頁面查看到 probe_ 開頭的相關(guān)指標(biāo),我們可以更進(jìn)一步,使用 Grafana 來展示。

啟動?Grafana 容器

docker run -d -p 3000:3000 \ --name=grafana \ --net mynetwork --ip 172.18.0.5 \ --add-host prometheus01.com:172.18.0.4 \ grafana/grafana

這里將 promtheus 地址映射為 `prometheus01.com` ,這樣在 grafana 可以直接使用該域名來創(chuàng)建數(shù)據(jù)源。

創(chuàng)建 Grafana 監(jiān)控面板

使用 admin/admin 初始密碼登錄 http://localhost:3000 ,并使用 `prometheus01.com:9090` 創(chuàng)建默認(rèn) Promethues 數(shù)據(jù)源。

導(dǎo)入 ID 為 `13230` 的模板:

導(dǎo)入結(jié)果:

可以看到我們用于測試的這三個網(wǎng)站的探測信息都展示到 Grafana 圖表了,展示內(nèi)容包括我們想要的證書過期時間、狀態(tài)碼、連接各階段耗時。

告警配置

除了可以通過 Grafana 面實時查看域名探測結(jié)果,我們可以配置 Prometheus rules 并結(jié)合 Alertmanager 實現(xiàn)告警監(jiān)控。

告警配置如:

- name: ssl_expiry rules: - alert: Ssl Cert Will Expire in 7 days expr: probe_ssl_earliest_cert_expiry - time() < 86400 * 7 for: 5m labels: severity: warning annotations: summary: "域名證書即將過期 (instance {{ $labels.instance }})" description: "域名證書 7 天后過期 \n VALUE = {{ $value }}\n LABELS: {{ $labels }}"

可能需要監(jiān)控的指標(biāo):

  • expr: probe_ssl_earliest_cert_expiry - time() < 86400 * 7 實現(xiàn)域名過期檢測,比如這里過期時間小于 7 天告警。

  • expr: probe_http_status_code != 200 實現(xiàn)狀態(tài)碼不為 200的告警。

  • expr: sum(probe_http_duration_seconds) by (instance) > 1 實現(xiàn)總耗時大于 1 秒的告警。

總結(jié)

今天我們在本地通過 Nginx 容器搭建了三個過期時間為 3d、60d 、365d 的測試域名,然后通過容器啟動 Blackbox exporter 和 Prometheus 來探測和收集這三個域名的 metrics,最后通過 Grafana 的 13230?模板統(tǒng)一展示這個三個域名的探測結(jié)果。

通過測試可以看到,使用Blackbox Exporter 和 Prometheus 實現(xiàn)域名證書的探測和監(jiān)控是非常方便的,而且 Grafana 的顯示效果非常好,值得大家試試。

總結(jié)

以上是生活随笔為你收集整理的localhost使用ipv4_使用 blackbox exporter 实现域名证书过期监控的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产69av| 欧美啪啪网 | 亚洲黄色激情 | 黄色国产一级片 | 狂野欧美性猛交xxxx巴西 | 麻豆av一区二区三区在线观看 | 免费激情 | 伦理片波多野结衣 | 成年免费视频黄网站在线观看 | 久久久久久久久久久网 | www色| 看免费的毛片 | 免费黄在线 | 床戏高潮做进去大尺度视频网站 | 中文字幕 自拍偷拍 | 亚洲天堂一级片 | 日韩人妻精品无码一区二区三区 | 日韩精品视频一区二区 | 亚洲综合在线观看视频 | 伊人久久麻豆 | 日韩一区在线观看视频 | www..com色| 久久久久久精 | 国产88av| 在线观看xxxx | 91丝袜一区二区三区 | аⅴ资源中文在线天堂 | 日本一级黄色 | 亚洲不卡在线视频 | 日本3级网站 | 天天插日日插 | 五十路中出 | 欧美激情日韩 | 黄色av软件| 精品一区精品二区 | 中出中文字幕 | 亚色综合 | 精品视频在线免费观看 | 福利视频大全 | 一级全黄裸体免费观看视频 | 日韩av毛片在线观看 | 操操操网站 | 少妇人妻一区二区三区 | 免费av一区 | 国产精品mv | 国产一二区在线观看 | 免费涩涩 | 黄色网免费看 | 亚洲国产精品影院 | 一本色道久久综合熟妇 | 9191在线视频 | 国产精品高潮视频 | 香蕉视频在线观看视频 | 毛片在线看网站 | 麻豆免费观看视频 | 免费成人深夜小野草 | 日本va视频 | 色综合天天综合 | 蜜桃精品久久久久久久免费影院 | 久久97久久97精品免视看 | 国产污网站 | 久久精品99国产精 | 免费观看成人在线视频 | 国产裸体舞一区二区三区 | 欧美乱轮 | 天天操综合网 | 艳情五月 | 亚洲欧美日韩第一页 | 99在线视频观看 | 天堂网中文字幕 | 精品一区电影 | 久久精品一二三区 | 狠狠干网址 | 日韩久久一区二区 | 蜜桃香蕉视频 | 肥臀熟女一区二区三区 | 欧美激情片在线观看 | 二级毛片在线观看 | 精品国产AV色欲天媒传媒 | 久久人人干| 欧美福利在线视频 | 火影黄动漫免费网站 | 亚洲乱码视频在线观看 | 欧美福利视频一区二区 | 三度诱惑免费版电影在线观看 | 精品免费一区 | 成人日韩精品 | 亚洲国产片 | 又黄又刺激的视频 | 91在线视频免费观看 | 中文字幕观看在线 | 欧美一区2区三区4区公司 | 一区二区三区偷拍 | 亚洲AV无码成人精品区先锋 | 国产伦视频 | 欧美黑人又粗又大高潮喷水 | 国产黄色大片视频 | 免费看一级黄色大片 | 国产免费又粗又猛又爽 |