<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

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

      前置說明

      各種環境的選型建議

      • Docker compose 方式:僅僅用于簡單測試,不推薦在生產環境使用 Docker compose,升級起來挺麻煩的,除非你對 Docker compose 真的很熟
      • 二進制部署:最推薦的方式,穩,升級也方便
      • Helm 方式:公司大規模使用了 Kubernetes,可以選擇 Helm 方式,前提是貴司對 Helm 這套真的很熟
      • 存儲選型:如果之前沒有部署過,是個新環境,時序庫選型建議使用 VictoriaMetrics,單機版 VictoriaMetrics 就可以抗住每秒上百萬數據點,性能很好,CPU、內存的占用都比 Prometheus 少,而且,完全兼容 Prometheus 的查詢接口
      • 時間校準:社區反饋的很多問題都是因為機器時間沒有校準,監控系統對時間很敏感,請各位先把機器時間校準一致,讓服務端的機器、時序庫的機器、要監控的目標機器、瀏覽器所在的 PC 時間,都保持一致

      用戶名密碼

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

      使用 Docker compose 快速體驗

      具體可以參考這個文檔。不推薦使用,除非你對 Docker compose 真的很熟!

      安裝前置依賴

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

      # install mysql
      yum -y install mariadb*
      systemctl enable mariadb
      systemctl restart mariadb
      mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1234');"
      
      # install redis
      yum install -y redis
      systemctl enable redis
      systemctl restart redis

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

      # 夜鶯的主配置文件是 etc/config.toml
      grep "1234" etc/config.toml

      安裝夜鶯

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

      # 創建個 n9e 的目錄,后面把 n9e 相關的文件解壓到這里
      mkdir -p /opt/n9e && cd /opt/n9e
      
      # 下載 n9e 發布包,amd64 是 x84 的包,下載站點也提供 arm64 的包,如果需要其他平臺的包則要自行編譯了
      tarball=n9e-v6.0.0-ga.7.0.2-linux-amd64.tar.gz
      urlpath=https://download.flashcat.cloud/${tarball}
      wget -q $urlpath || exit 1
      
      # 解壓縮發布包
      tar zxvf ${tarball}
      
      # 解壓縮之后,可以看到 n9e.sql 是建表語句,導入數據庫
      mysql -uroot -p1234 < n9e.sql
      
      # 啟動 n9e,先使用 nohup 簡單測試,如果需要 systemd 托管,請自行準備 service 文件
      nohup ./n9e &> n9e.log &
      
      # 檢查 n9e.log 是否有異常日志,檢查端口是否在監聽,正常應該監聽在 17000
      ss -tlnp|grep 17000

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

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

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

      20230517172701

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

      20230517174351

      具體配置樣例如下:

      20230517174558

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

      • 名稱:隨意取名,就是個標識,使用英文命名
      • URL:Prometheus 的訪問地址,如果是其他時序庫,這個地址就不同嘍,比如集群版本的 VictoriaMetrics,可能是類似這么個地址:http://127.0.0.1:8481/select/0/prometheus
      • 超時時間:單位是毫秒,建議最小設置為10000,即10s,如果一些大的查詢,就會比較耗時
      • 授權:如果時序庫啟用了 Basic auth,這里就配置對應的 Basic auth username 和 password 即可
      • 跳過 SSL 驗證:如果證書不是正兒八經的證書想要跳過校驗,就勾選這個項
      • 自定義 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。這個信息用在哪里呢?平時都用不到,除非你在夜鶯里使用了記錄規則(recording rule),記錄規則會生成新指標,新指標要回寫時序庫,所以要求時序庫提供 remote write 地址。如果你不知道啥是 recording rule,可以 google 一下,google 關鍵字:“Prometheus recording rule”,或者跳過以后再說
      • 關聯告警引擎集群:這個說起來有點復雜了,選中默認的 default 即可,如果需要在邊緣機房單獨部署 n9e-alert 的時候,才需要詳細了解這個信息

      以上配置完成之后,我們去即時查詢驗證一下,看看能否查詢到這個 Prometheus 的數據:

      20230517181834

      如上就表示正常的,如果有些數據確定時序庫里是有的,但是在即時查詢里查不到,有可能是時間沒有校準,請自行檢查時間。之后,就可以在夜鶯里配置告警規則了,具體可以參考后續告警相關的文檔

      玩法2:使用 categraf 采集數據,使用夜鶯接收數據

      社區里經常有小伙伴咨詢,問夜鶯可以監控xx么?

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

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

      所以夜鶯本身不做監控數據采集,啥都不能監控,但是夜鶯可以對接數據源,又啥都可以監控。

      這一小節,我們介紹使用 Categraf 作采集器,然后推數據給夜鶯,夜鶯轉存到時序庫,并且后續對這些數據做可視化、告警等,整個架構如下圖所示:

      20230517182817

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

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

      安裝單機版本的 VictoriaMetrics

      如果選用集群版本的 VictoriaMetrics,可以參考 這里。當然,單機版本對絕大部分公司,夠用了,配合云盤保障數據可靠性,穩。所以這里,我就演示單機版本的部署。

      安裝 VictoriaMetrics

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

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

      [root@vm-159 tarball]# ll vic*
      -rw-r--r--. 1 root root 10370599 5月  17 18:43 victoria-metrics-linux-amd64-v1.90.0.tar.gz
      -rwxr-xr-x. 1 1000 1000 20191152 4月   7 09:00 victoria-metrics-prod

      啟動它:

      [root@vm-159 tarball]# nohup ./victoria-metrics-prod &> stdout.log &
      [1] 12632
      [root@vm-159 tarball]# ss -tlnp|grep 12632
      LISTEN     0      128          *:8428                     *:*                   users:(("victoria-metric",pid=12632,fd=10))

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

      20230517184645

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

      打通夜鶯和 VictoriaMetrics

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

      20230517185115

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

      [HTTP.Pushgw]
      Enable = true
      # [HTTP.Pushgw.BasicAuth]
      # user001 = "ccc26da7b9aba533cbb263a36c07dcc5"

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

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

      [Pushgw]
      LabelRewrite = true
      [[Pushgw.Writers]]
      Url = "http://127.0.0.1:8428/api/v1/write"

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

      [Pushgw]
      LabelRewrite = true
      [[Pushgw.Writers]]
      Url = "http://127.0.0.1:8428/api/v1/write"
      [[Pushgw.Writers]]
      Url = "http://127.0.0.1:9090/api/v1/write"

      OK,這樣一來,夜鶯接收到 categraf、telegraf、grafana-agent 等各類 agent 上報上來的監控數據,都會轉發給后端的 VictoriaMetrics,完活。

      部署 categraf 上報監控數據

      Categraf 的安裝請 參考文檔,這個文檔已經很詳細了就不再贅述了。重點關注配置文件 config.toml,一個是 heartbeat 的配置:

      [heartbeat]
      enable = true
      url = "http://127.0.0.1:17000/v1/n9e/heartbeat"

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

      另一個配置是 writers 部分:

      [[writers]]
      url = "http://127.0.0.1:17000/prometheus/v1/write"

      這表示:把數據推給夜鶯的 17000 端口,url path 是 /prometheus/v1/write 這是夜鶯的 remote write 協議的數據接收地址。

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

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

      nohup ./categraf &> categraf.log &

      驗證結果

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

      20230517192730

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

      夜鶯高可用方案

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

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

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

      高級玩法

      如果,夜鶯部署在北京機房,某些機房和北京機房網絡鏈路較差,此時,應該把時序庫、告警引擎下沉部署,具體應該如何做呢?看這里

      轉載自:https://flashcat.cloud/docs/content/flashcat-monitor/nightingale-v6/install/intro/ 

      posted @ 2023-05-18 11:45  IT運維監控  閱讀(1180)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久精品国产亚洲AV成人毛片| 永久天堂网 av手机版| 国产成人自拍小视频在线| 最新亚洲人成网站在线观看| 亚洲无线码中文字幕在线| 日本一区二区不卡精品| 99国精品午夜福利视频不卡99| 一本大道av人久久综合| 男人av无码天堂| 亚洲Av综合日韩精品久久久| 欧日韩无套内射变态| 亚洲一区二区三区水蜜桃| 一本色道久久综合无码人妻| 久久国产乱子精品免费女| 精品国产成人午夜福利| 国产亚洲一二三区精品| 美女又黄又免费的视频| 国产精品国产高清国产av| 久久人妻国产精品| 安阳市| 国产精品一二区在线观看| 国产高清一区二区不卡| 亚洲欧美日韩综合在线丁香| 国产亚洲精品精品精品| a级亚洲片精品久久久久久久| 国产视频 视频一区二区| 日韩有码中文字幕av| 亚洲国产精品综合久久2007| 韩国 日本 亚洲 国产 不卡| 青阳县| 大地资源免费视频观看| 久久综合激情网| 色就色中文字幕在线视频| 粉嫩国产一区二区三区在线| 下面一进一出好爽视频| 久久99日本免费国产精品| 四房播色综合久久婷婷| 国产精品午夜福利在线观看| 亚洲美免无码中文字幕在线| 横峰县| 国产精品国产三级国产专|