五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

夜鶯官方文檔優(yōu)化第一彈:手把手教你部署和架構(gòu)講解,消滅所有部署失敗的case!干!

2023-05-18 11:35 作者:SRETalk  | 我要投稿

前置說明

各種環(huán)境的選型建議

  • Docker compose 方式:僅僅用于簡單測試,不推薦在生產(chǎn)環(huán)境使用 Docker compose,升級起來挺麻煩的,除非你對 Docker compose 真的很熟

  • 二進制部署:最推薦的方式,穩(wěn),升級也方便

  • Helm 方式:公司大規(guī)模使用了 Kubernetes,可以選擇?Helm 方式(?https://github.com/flashcatcloud/n9e-helm ),前提是貴司對 Helm 這套真的很熟

  • 存儲選型:如果之前沒有部署過,是個新環(huán)境,時序庫選型建議使用 VictoriaMetrics,單機版 VictoriaMetrics 就可以抗住每秒上百萬數(shù)據(jù)點,性能很好,CPU、內(nèi)存的占用都比 Prometheus 少,而且,完全兼容 Prometheus 的查詢接口

  • 時間校準:社區(qū)反饋的很多問題都是因為機器時間沒有校準,監(jiān)控系統(tǒng)對時間很敏感,請各位先把機器時間校準一致,讓服務端的機器、時序庫的機器、要監(jiān)控的目標機器、瀏覽器所在的 PC 時間,都保持一致

用戶名密碼

默認用戶是?root,密碼是?root.2020。

使用 Docker compose 快速體驗

具體可以參考這個文檔(?https://flashcat.cloud/docs/content/flashcat-monitor/nightingale-v6/install/docker-compose/ )。不推薦使用,除非你對 Docker compose 真的很熟!

安裝前置依賴

我們更推薦二進制的方式來部署,后文都是以二進制的方式來說明部署方式以及架構(gòu)。夜鶯依賴 mysql 存儲用戶配置類數(shù)據(jù),依賴 redis 存儲 jwt token 和機器心跳上報的 metadata,所以,先準備 mysql 和 redis。這倆組件請大家自行安裝,這里也提供一個小腳本來安裝這兩個組件,大家可以參考:


上例中 mysql 的 root 密碼設置為了 1234,建議維持這個不變,后續(xù)就省去了修改配置文件的麻煩。如果你想修改默認用戶名和密碼,就要對應的修改配置文件中的 mysql 連接信息,配置文件的哪個地方配置了 mysql 的密碼呢?通過下面的命令可以找到:



安裝夜鶯

可以去?https://flashcat.cloud/download/nightingale/?找最新版本的包,文檔里的包地址可能已經(jīng)不是最新的了

如果日志和端口都沒啥問題,恭喜,你完成了夜鶯的安裝!通過瀏覽器訪問這個機器的 17000,理論上就可以看到登錄頁面了。

玩法1:僅使用夜鶯做告警管理

如果您之前已經(jīng)部署了 Prometheus、Thanos、VictoriaMetrics、M3DB、Mimir 等某個時序庫,只是想使用夜鶯的告警管理功能,沒問題,架構(gòu)如下:

假設你之前有個 Prometheus,只需要把 Prometheus 作為數(shù)據(jù)源配置進來就可以了,入口在:

具體配置樣例如下:

這里一些配置項的含義解釋如下:

  • 名稱:隨意取名,就是個標識,使用英文命名

  • URL:Prometheus 的訪問地址,如果是其他時序庫,這個地址就不同嘍,比如集群版本的 VictoriaMetrics,可能是類似這么個地址:http://127.0.0.1:8481/select/0/prometheus

  • 超時時間:單位是毫秒,建議最小設置為10000,即10s,如果一些大的查詢,就會比較耗時

  • 授權(quán):如果時序庫啟用了 Basic auth,這里就配置對應的 Basic auth username 和 password 即可

  • 跳過 SSL 驗證:如果證書不是正兒八經(jīng)的證書想要跳過校驗,就勾選這個項

  • 自定義 HTTP 頭:訪問時序庫的時候可以附加一些 HTTP Header

  • write_addr:這個是時序庫的 remote write 地址,我的例子中是 Prometheus,所以 url path 是?/api/v1/write,如果是其他時序庫可能不同,比如集群版本的 VictoriaMetrics,remote write 地址可能是類似這個樣子:http://127.0.0.1:8480/insert/0/prometheus/api/v1/write。這個信息用在哪里呢?平時都用不到,除非你在夜鶯里使用了記錄規(guī)則(recording rule),記錄規(guī)則會生成新指標,新指標要回寫時序庫,所以要求時序庫提供 remote write 地址。如果你不知道啥是 recording rule,可以 google 一下,google 關鍵字:“Prometheus recording rule”,或者跳過以后再說

  • 關聯(lián)告警引擎集群:這個說起來有點復雜了,選中默認的 default 即可,如果需要在邊緣機房單獨部署 n9e-alert 的時候,才需要詳細了解這個信息

以上配置完成之后,我們?nèi)ゼ磿r查詢驗證一下,看看能否查詢到這個 Prometheus 的數(shù)據(jù):

如上就表示正常的,如果有些數(shù)據(jù)確定時序庫里是有的,但是在即時查詢里查不到,有可能是時間沒有校準,請自行檢查時間。之后,就可以在夜鶯里配置告警規(guī)則了,具體可以參考后續(xù)告警相關的文檔( https://flashcat.cloud/docs/content/flashcat-monitor/nightingale-v6/usage/alert/?)。

玩法2:使用 categraf 采集數(shù)據(jù),使用夜鶯接收數(shù)據(jù)

社區(qū)里經(jīng)常有小伙伴咨詢,問夜鶯可以監(jiān)控xx么?

其實,夜鶯啥都可以監(jiān)控,又啥都監(jiān)控不了。夜鶯是一個服務端組件,類似 Grafana,可以接入不同的數(shù)據(jù)源,比如 Prometheus、VictoriaMetrics、Thanos 等等,只要數(shù)據(jù)進到這些庫里了,夜鶯就可以對數(shù)據(jù)源的數(shù)據(jù)進行分析、告警、可視化,以及后續(xù)的事件處理、告警自愈。

當然,夜鶯也有端口接收監(jiān)控數(shù)據(jù),可以跟開源社區(qū)常見的各種監(jiān)控采集器打通,比如 Telegraf、Categraf、Grafana-agent、Datadog-agent、Prometheus 生態(tài)的各類 Exporter 等等。這些 agent 采集了數(shù)據(jù)推給夜鶯,夜鶯適配了這些 agent 的數(shù)據(jù)傳輸協(xié)議,所以可以接收這些 agent 上報的監(jiān)控數(shù)據(jù),轉(zhuǎn)存到后端對接的數(shù)據(jù)源,之后就可以對這些數(shù)據(jù)做告警分析、可視化。

所以夜鶯本身不做監(jiān)控數(shù)據(jù)采集,啥都不能監(jiān)控,但是夜鶯可以對接數(shù)據(jù)源,又啥都可以監(jiān)控。

這一小節(jié),我們介紹使用 Categraf 作采集器,然后推數(shù)據(jù)給夜鶯,夜鶯轉(zhuǎn)存到時序庫,并且后續(xù)對這些數(shù)據(jù)做可視化、告警等,整個架構(gòu)如下圖所示:

圖上畫了三個 agent:datadog-agent、telegraf、categraf,都可以和夜鶯對接,我們推薦的是 categraf,所以本節(jié)主要以 categraf 舉例。夜鶯默認監(jiān)聽的端口是 17000,通過 api:/prometheus/v1/write?接收 remote write 協(xié)議的監(jiān)控數(shù)據(jù),categraf 恰好可以以 remote write 協(xié)議上報監(jiān)控數(shù)據(jù),所以二者可以對接,telegraf、grafana-agent 其實也可以以 remote write 協(xié)議上報監(jiān)控數(shù)據(jù),所以也可以和夜鶯對接。

夜鶯收到監(jiān)控數(shù)據(jù)之后,夜鶯自身不存儲這些時序數(shù)據(jù),直接轉(zhuǎn)存到后端時序庫,在這里,夜鶯的角色只是一個 Pushgateway 的角色。我們推薦的時序庫是單機版本的 VictoriaMetrics,后文就以此演示。當然了,夜鶯可以同時并行轉(zhuǎn)發(fā)數(shù)據(jù)給后端多個時序庫,就像上圖畫的,把一份數(shù)據(jù)同時存儲在 VictoriaMetrics 和 Prometheus,也是可以通過配置實現(xiàn)的。

安裝單機版本的 VictoriaMetrics

如果選用集群版本的 VictoriaMetrics,可以參考?這里(?https://flashcat.cloud/docs/content/flashcat-monitor/nightingale/install/victoriametrics/ )。當然,單機版本對絕大部分公司,夠用了,配合云盤保障數(shù)據(jù)可靠性,穩(wěn)。所以這里,我就演示單機版本的部署。

安裝 VictoriaMetrics

VictoriaMetrics 下載地址在?github releases(?https://github.com/VictoriaMetrics/VictoriaMetrics/releases )?上,作為技術人員,我想,你應該可以下載的到。我的環(huán)境是 x86_64 的 linux,所以選擇下載:victoria-metrics-linux-amd64-v1.90.0.tar.gz (撰寫這個文檔的時候,最新版本是 v1.90.0)。

VictoriaMetrics 解壓縮之后,里邊就一個二進制:

啟動它:

通過上面的命令可以看出,單機版本的 VictoriaMetrics 監(jiān)聽在 8428 端口。通過瀏覽器訪問 VictoriaMetrics 的 8428,理論上可以看到下面的頁面:

如上,就表示 VictoriaMetrics 安裝成功,當然,我僅僅使用 nohup 簡單啟動的,如果生產(chǎn)環(huán)境,建議使用 systemd 托管并設置開機自啟動。

打通夜鶯和 VictoriaMetrics

分兩個步驟,首先就類似上面配置 Prometheus 數(shù)據(jù)源那種方式,在夜鶯里配置一個 VictoriaMetrics 的數(shù)據(jù)源,比如我的配置:

其次,就需要修改配置文件了。打開夜鶯的?etc/config.toml?配置,找到?HTTP.Pushgw?部分,默認配置如下:

這個表示:開啟夜鶯的監(jiān)控數(shù)據(jù)接收類的 API,默認就是開啟的,所以,默認配置就夠了,不用動。那個 HTTP.Pushgw.BasicAuth 表示 BasicAuth(不懂啥是 BasicAuth 請自行 Google 哈) 的配置,如果是內(nèi)網(wǎng)環(huán)境就維持注釋就可以了,不用開啟 BasicAuth,如果要把夜鶯接收數(shù)據(jù)的接口暴露到公網(wǎng),為了安全考慮,就需要 HTTPS + BasicAuth 雙重保障了,這里的 HTTP.Pushgw.BasicAuth 相關的配置在公網(wǎng)環(huán)境下就應該打開,而且,應該修改這個 password:ccc26da7b9aba533cbb263a36c07dcc5,不要使用默認的 password。

另一個要修改的配置是 Pushgw.Writers 部分,把 VictoriaMetrics 的 remote write 地址配置上,我的環(huán)境的例子如下:

這里的?[[Pushgw.Writers]]?是雙中括號擴起來的,這在 toml 配置中表示數(shù)組,如果你想把數(shù)據(jù)轉(zhuǎn)發(fā)給后端多個時序庫,就可以配置多個?[[Pushgw.Writers]],比如:

OK,這樣一來,夜鶯接收到 categraf、telegraf、grafana-agent 等各類 agent 上報上來的監(jiān)控數(shù)據(jù),都會轉(zhuǎn)發(fā)給后端的 VictoriaMetrics,完活。

部署 categraf 上報監(jiān)控數(shù)據(jù)

Categraf 的安裝請?參考文檔(?https://flashcat.cloud/docs/content/flashcat-monitor/categraf/2-installation/? ),這個文檔已經(jīng)很詳細了就不再贅述了。重點關注配置文件 config.toml,一個是 heartbeat 的配置:

這個配置是 Categraf 向夜鶯心跳的地址,夜鶯 v5 的話沒有這個機制,需要把 Categraf heartbeat 的 enable 關掉。我這里演示的夜鶯 v6,所以 heartbeat 的 enable 要設置為 true,建議大家用高版本的 Categraf,我這里用的是 v0.3.4。

另一個配置是 writers 部分:

這表示:把數(shù)據(jù)推給夜鶯的 17000 端口,url path 是?/prometheus/v1/write?這是夜鶯的 remote write 協(xié)議的數(shù)據(jù)接收地址。

上面我的例子中,夜鶯的地址都是:127.0.0.1:17000,因為我的 Categraf 和 夜鶯 在一臺機器上,如果你的 Categraf 和夜鶯在不同的機器,注意改成合適的 IP。

按照文檔中介紹的方法啟動 Categraf,我這只是臨時測試,所以,直接 nohup 啟動得了:

驗證結(jié)果

如果一切正常,Categraf 就會推數(shù)據(jù)給夜鶯,夜鶯轉(zhuǎn)發(fā)給 VictoriaMetrics,而 VictoriaMetrics 又是夜鶯的數(shù)據(jù)源,所以在夜鶯的即時查詢頁面,理論上可以查詢到 VictoriaMetrics 的數(shù)據(jù),驗證一下:

cpu_usage_active?這個指標就是 Categraf 采集上報的,看起來一切正常。歐耶!

夜鶯高可用方案

這里服務端總共涉及到4個組件:時序庫、mysql、redis、夜鶯,其中時序庫、mysql、redis 的高可用,大家 Google 一下網(wǎng)上大堆資料,這里不展開。關鍵是夜鶯如何做高可用?

其實,很簡單,多部署幾個 n9e 實例就可以了。多個 n9e 實例會自動組成集群,分擔壓力。n9e 前面可以架設負載均衡,四層、七層都可以,某個 n9e 實例掛掉,負載均衡會自動剔除,用戶通過瀏覽器訪問夜鶯的時候,訪問負載均衡的地址,Categraf 的 writer 和 heartbeat 也配置成負載均衡的地址,就可以了。

如果夜鶯里配置了3千條告警規(guī)則,部署了3個n9e實例,這三個n9e實例就會自動分配(通過一致性哈希算法)要處理的告警規(guī)則,確保每個n9e實例只處理大概1千條告警規(guī)則,分擔告警引擎處理壓力。如果某個n9e實例掛掉,其他實例會自動感知(利用mysql做了一些心跳機制)自動接管未被處理的告警規(guī)則,這也是把n9e集群化部署的好處。

高級玩法

如果,夜鶯部署在北京機房,某些機房和北京機房網(wǎng)絡鏈路較差,此時,應該把時序庫、告警引擎下沉部署,具體應該如何做呢?看這里( https://flashcat.cloud/docs/content/flashcat-monitor/nightingale-v6/install/advance/ )

轉(zhuǎn)載自:https://flashcat.cloud/docs/content/flashcat-monitor/nightingale-v6/install/intro/?


夜鶯官方文檔優(yōu)化第一彈:手把手教你部署和架構(gòu)講解,消滅所有部署失敗的case!干!的評論 (共 條)

分享到微博請遵守國家法律
伽师县| 榆林市| 吴川市| 恩施市| 油尖旺区| 东光县| 万源市| 临沧市| 孟村| 涞源县| 兰坪| 荃湾区| 咸宁市| 武城县| 颍上县| 中方县| 常熟市| 张家口市| 巩留县| 绩溪县| 综艺| 巫溪县| 莱州市| 正镶白旗| 察雅县| 陆河县| 睢宁县| 驻马店市| 阿拉善左旗| 滦南县| 商洛市| 安福县| 涟源市| 滦平县| 西丰县| 安化县| 深水埗区| 微博| 宁都县| 墨脱县| 肇州县|