最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker 部署HAProxy v2.2.29 并暴露指標(biāo)接口的問(wèn)題解決

 更新時(shí)間:2023年04月19日 10:45:42   作者:獨(dú)步秋風(fēng)  
haproxy提供高可用性、負(fù)載均衡以及基于TCP(第四層)和HTTP(第七層)應(yīng)用的代理,支持虛擬主機(jī),它是免費(fèi)、快速并且可靠的一種解決方案,這篇文章主要介紹了Docker 部署HAProxy v2.2.29 并暴露指標(biāo)接口,需要的朋友可以參考下

1.背景

在haproxy 2.0 版本之前,prometheus 提供了haproxy_exporter 來(lái)對(duì)HAProxy進(jìn)行監(jiān)控,haproxy 從 2.0 版本開(kāi)始不再需要使用 haproxy_exporter 進(jìn)行監(jiān)控,因?yàn)?haproxy 提供了原生的 Prometheus 導(dǎo)出功能。也就是說(shuō),從 haproxy 2.0 版本開(kāi)始,可以直接使用 Prometheus 監(jiān)控 haproxy,而無(wú)需使用額外的 exporter 了。

2.目的

通過(guò)Docker 部署HAProxy v2.2.29 并開(kāi)放指標(biāo)接口,下面有一鍵部署腳本,供參考

3.HAProxy 簡(jiǎn)介

haproxy提供高可用性、負(fù)載均衡以及基于TCP(第四層)和HTTP(第七層)應(yīng)用的代理,支持虛擬主機(jī),它是免費(fèi)、快速并且可靠的一種解決方案。

haproxy特別適用于那些負(fù)載特別大的web站點(diǎn),這些站點(diǎn)通常又需要會(huì)話保持或七層處理。haproxy運(yùn)行在時(shí)下的硬件上,完全可以支持?jǐn)?shù)以萬(wàn)計(jì)的并發(fā)連接,并且它的運(yùn)行模式使得它可以很簡(jiǎn)單安全的整合進(jìn)您當(dāng)前的架構(gòu)中,同時(shí)可以保護(hù)你的web服務(wù)器不被暴露到網(wǎng)絡(luò)上。

haproxy實(shí)現(xiàn)了一種事件驅(qū)動(dòng)、單一進(jìn)程模型,此模型支持非常大的并發(fā)連接數(shù)。多進(jìn)程或多線程模型受內(nèi)存限制、系統(tǒng)調(diào)度器限制以及無(wú)處不在的鎖限制,很少能處理數(shù)千并發(fā)連接。

事件驅(qū)動(dòng)模型因?yàn)樵谟懈玫馁Y源和時(shí)間管理的用戶(hù)端(User-Space)實(shí)現(xiàn)所有這些任務(wù),所以沒(méi)有這些問(wèn)題。此模型的弊端是,在多核系統(tǒng)上,這些程序通常擴(kuò)展性較差。這就是為什么他們必須進(jìn)行優(yōu)化以使每個(gè)CPU時(shí)間片(Cycle)做更多的工作

4.HAProxy 優(yōu)點(diǎn)

1.免費(fèi)開(kāi)源,穩(wěn)定性也是非常好。單haproxy也跑得不錯(cuò),穩(wěn)定性可以與硬件級(jí)的F5相媲美。
2.根據(jù)官方文檔,haproxy可以跑滿(mǎn)10Gbps,這個(gè)數(shù)值作為軟件級(jí)負(fù)載均衡器是相當(dāng)驚人的。
3.haproxy支持連接拒絕:因?yàn)榫S護(hù)一個(gè)連接的打開(kāi)的開(kāi)銷(xiāo)是很低的,有時(shí)我們很需要限制攻擊蠕蟲(chóng)(attack bots),也就是說(shuō)限制它們的連接打開(kāi)從而限制它們的危害。這個(gè)已經(jīng)為一個(gè)陷于小型DDoS攻擊的網(wǎng)站開(kāi)發(fā)了而且已經(jīng)拯救了很多站點(diǎn),這個(gè)優(yōu)點(diǎn)也是其它負(fù)載均衡器沒(méi)有的。
4.haproxy支持全透明代理(已具備硬件防火墻的典型特點(diǎn)):可以用客戶(hù)端IP地址或者任何其他地址來(lái)連接后端服務(wù)器。這個(gè)特性?xún)H在Linux 2.4/2.6內(nèi)核打了tcp proxy補(bǔ)丁后才可以使用。這個(gè)特性也使得為某特殊服務(wù)器處理部分流量同時(shí)又不修改服務(wù)器的地址成為可能。
5.haproxy現(xiàn)多用于線上的Mysql集群環(huán)境,我們常用于它作為MySQL(讀)負(fù)載均衡。
6.自帶強(qiáng)大的監(jiān)控服務(wù)器狀態(tài)的頁(yè)面,實(shí)際環(huán)境中我們結(jié)合Nagios進(jìn)行郵件或短信報(bào)警。
7.HAProxy支持虛擬主機(jī)。

5. HAProxy配置說(shuō)明

1.global: (全局配置主要用于設(shè)定義全局參數(shù),屬于進(jìn)程級(jí)的配置,通常和操作系統(tǒng)配置有關(guān))
2.default : (配置默認(rèn)參數(shù),這些參數(shù)可以被用到frontend,backend,Listen組件) 在此部分中設(shè)置的參數(shù)值,默認(rèn)會(huì)自動(dòng)引用到下面的frontend、backend、listen部分中,因引,某些參數(shù)屬于公用的配置,只需要在defaults部分添加一次即可。而如果frontend、backend、listen部分也配置了與defaults部分一樣的參數(shù),Defaults部分參數(shù)對(duì)應(yīng)的值自動(dòng)被覆蓋。
3.frontend:( 接收請(qǐng)求的前端虛擬節(jié)點(diǎn),F(xiàn)rontend可以更加規(guī)則直接指定具體使用后端的backend) frontend是在haproxy 1.3版本以后才引入的一個(gè)組件,同時(shí)引入的還有backend組件。通過(guò)引入這些組件,在很大程度上簡(jiǎn)化了haproxy配置文件的復(fù)雜性。forntend可以根據(jù)ACL規(guī)則直接指定要使用的后端backend
4.backend : (后端服務(wù)集群的配置,真實(shí)服務(wù)器,一個(gè)Backend對(duì)應(yīng)一個(gè)或者多個(gè)實(shí)體服務(wù)器) 在HAProxy1.3版本之前,HAProxy的所有配置選項(xiàng)都在這個(gè)部分中設(shè)置。為了保持兼容性,haproxy新的版本依然保留了listen組件配置項(xiàng)。兩種配置方式任選一中
5.Listen : (Fronted和backend的組合體) 比如haproxy實(shí)例狀態(tài)監(jiān)控部分配置

6. 部署腳本

#!/bin/bash

CONFIG_PATH=/home/zoms/haproxy/
sudo mkdir $CONFIG_PATH
sudo cat > $CONFIG_PATH/haproxy.cfg << EOF
global
    log 127.0.0.1 local0 info  # 日志存儲(chǔ)到127.0.0.1,以local0輸入info級(jí)別
    maxconn 4096 # 最大連接數(shù),要考慮到ulimit -n的大小限制
    daemon
    nbproc 2 # 進(jìn)程數(shù)

defaults
    log global
    mode tcp # 使用tcp4層代理模式
    option tcplog
    option dontlognull
    retries 3
    # 在使用基于cookie定向時(shí),一旦后端某一server宕機(jī)時(shí),會(huì)將會(huì)話重新定向至某一上游服務(wù)器,必須使用的選項(xiàng)
    option redispatch
    maxconn 4096
    timeout connect 5s
    timeout client 60s #客戶(hù)端空閑超時(shí)時(shí)間
    timeout server 15s #服務(wù)端超時(shí)時(shí)間

listen stats
    # 綁定Prometheus Exporter模塊
    bind 0.0.0.0:9090
    mode http
    option http-keep-alive
    option forwardfor
    http-request use-service prometheus-exporter if { path /metrics }
EOF

sudo docker stop haproxy;sudo docker rm haproxy;sudo docker run -d  -p 9090:9090  -e HAPROXY_PROMETHEUS_EXPORTER=true --name haproxy -v $CONFIG_PATH/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro haproxy:2.2.29 ;sleep 3;sudo docker ps -a|grep haproxy

curl localhost:9090/metrics

拓展了解可訪問(wèn)參考HAProxy原理和概念以及HAProxy部署

參考資料

haproxy_exporter 監(jiān)控HAProxy
HAProxy v2.x 官方配置文檔
HAProxy官網(wǎng)
HAProxy部署
HAProxy原理和基本概念

到此這篇關(guān)于Docker 部署HAProxy v2.2.29 并暴露指標(biāo)接口的文章就介紹到這了,更多相關(guān)Docker 部署HAProxy內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker 1分鐘搭建DNS服務(wù)器的方法

    Docker 1分鐘搭建DNS服務(wù)器的方法

    本篇文章介紹了Docker 1分鐘搭建DNS服務(wù)器的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • docker 容器上編譯 go 程序提示找不到文件問(wèn)題

    docker 容器上編譯 go 程序提示找不到文件問(wèn)題

    這篇文章主要介紹了docker 容器上編譯 go 程序無(wú)法運(yùn)行提示找不到文件問(wèn)題,解決方法也很簡(jiǎn)單,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-05-05
  • Docket Desktop安裝redis并設(shè)置密碼方式

    Docket Desktop安裝redis并設(shè)置密碼方式

    在DockerDesktop中安裝Redis并設(shè)置密碼的步驟包括啟動(dòng)Docker、拉取Redis鏡像、創(chuàng)建并運(yùn)行Redis容器設(shè)置密碼、驗(yàn)證容器運(yùn)行、連接并驗(yàn)證密碼,以及可選的持久化數(shù)據(jù)設(shè)置
    2025-03-03
  • Docker 部署Scrapy的詳解

    Docker 部署Scrapy的詳解

    這篇文章主要介紹了Docker 部署Scrapy的詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • docker容器無(wú)法執(zhí)行vim的解決方案

    docker容器無(wú)法執(zhí)行vim的解決方案

    這篇文章主要介紹了docker容器無(wú)法執(zhí)行vim的解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • Docker-Compose?容器集群的快速編排方法

    Docker-Compose?容器集群的快速編排方法

    Docker-Compose項(xiàng)目由Python編寫(xiě),調(diào)用Docker服務(wù)提供的API來(lái)對(duì)容器進(jìn)行管理。因此,只要所操作的平臺(tái)支持Docker API, 就可以在其上利用Compose來(lái)進(jìn)行編排管理,這篇文章主要介紹了Docker-Compose?容器集群的快速編排,需要的朋友可以參考下
    2022-07-07
  • docker搭建minio的問(wèn)題解決

    docker搭建minio的問(wèn)題解決

    本文主要介紹了docker搭建minio的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Docker數(shù)據(jù)存儲(chǔ)之Bind mounts詳解

    Docker數(shù)據(jù)存儲(chǔ)之Bind mounts詳解

    今天小編就為大家分享一篇關(guān)于Docker數(shù)據(jù)存儲(chǔ)之Bind mounts詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • Dockerfile中的ENV指令的具體使用詳解

    Dockerfile中的ENV指令的具體使用詳解

    這篇文章主要介紹了Dockerfile中的ENV指令的具體使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 關(guān)于Docker 刪除dead狀態(tài)的容器問(wèn)題及解決方案

    關(guān)于Docker 刪除dead狀態(tài)的容器問(wèn)題及解決方案

    這篇文章主要介紹了Docker 刪除dead狀態(tài)的容器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05

最新評(píng)論

兴业县| 炉霍县| 石河子市| 新泰市| 嘉义县| 西吉县| 玉门市| 西青区| 泊头市| 百色市| 芒康县| 政和县| 剑阁县| 临漳县| 海阳市| 自贡市| 准格尔旗| 邓州市| 左贡县| 沙雅县| 廊坊市| 阿鲁科尔沁旗| 东海县| 吉安市| 咸丰县| 祁阳县| 三穗县| 天全县| 双桥区| 崇左市| 定日县| 津南区| 高台县| 思茅市| 虎林市| 土默特右旗| 玉环县| 承德县| 彭阳县| 洛阳市| 清流县|