prometheus 遠(yuǎn)端存儲-VictoriaMetrics

VictoriaMetrics是快速,經(jīng)濟(jì)高效且可擴(kuò)展的時間序列數(shù)據(jù)庫。它可以用作Prometheus的長期遠(yuǎn)程存儲(==不支持遠(yuǎn)端讀,但支持通過grafana讀取==),使用go 語言編寫香嗓÷宀ǎ可以可以通過二進(jìn)制文件一次編譯,到處部署
優(yōu)點(diǎn):

  • 支持Prometheus查詢API塞蹭,因此可以在Grafana中用作Prometheus的替代產(chǎn)品匹表。VictoriaMetrics實(shí)現(xiàn)了受PromQL啟發(fā)的MetricsQL查詢語言门坷。
  • 插入和查詢的高性能和良好的可伸縮性。優(yōu)于InfluxDB和TimescaleDB 20倍袍镀。
  • 在處理數(shù)百萬個唯一的時間序列(又稱高基數(shù))時默蚌,使用的內(nèi)存比InfluxDB少10倍。
  • 高度的數(shù)據(jù)壓縮苇羡,因此與TimescaleDB相比敏簿,有限的存儲空間中最多可以塞滿70倍的數(shù)據(jù)點(diǎn)。
  • 針對高延遲IO和低IOPS(AWS宣虾,Google Cloud,Microsoft Azure等中的HDD和網(wǎng)絡(luò)存儲)的存儲進(jìn)行了優(yōu)化温数。
  • 運(yùn)維優(yōu)勢:
- VictoriaMetrics由一個沒有外部依賴性的小型可執(zhí)行文件組成绣硝。
- 所有配置都是通過帶有合理默認(rèn)值的顯式命令行標(biāo)志完成的
- 所有數(shù)據(jù)都存儲在-storageDataPath標(biāo)志指向的單個目錄中。
- 使用vmbackup / vmrestore從即時快照輕松快速地備份到S3或GCS撑刺。
  • 支持多種協(xié)議的數(shù)據(jù)抓取
- prometheus exporter
- prometheus 遠(yuǎn)端寫api
- 基于HTTP鹉胖,TCP和UDP的InfluxDB協(xié)議。
- Graphite plaintext protocol 
- OpenTSDB put message
- HTTP OpenTSDB /api/put requests
- /api/v1/import.
- 任意CSV數(shù)據(jù)。
  • 開源的集群版本

部署集群版本:
整體結(jié)構(gòu)圖:

可以看到在整體的結(jié)構(gòu)中甫菠。vmselect 和vminsert 均為無狀態(tài)服務(wù)挠铲。storage 是存儲服務(wù)。 可以部署在虛擬機(jī)中
部署方式:
使用helm 一鍵部署
鏡像準(zhǔn)備:

  1. 下載vmcluser 三個組件的二進(jìn)制包
[root@k8s-master01 ~]# wget "https://github-production-release-asset-2e65be.s3.amazonaws.com/150954997/1e708100-7750-11ea-9da2-4460f46fa7be?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200408%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200408T063357Z&X-Amz-Expires=300&X-Amz-Signature=839c0ab1a40df2e7eb512cd599c9edf03b7b241399d8eb8e7661d714b99ce158&X-Amz-SignedHeaders=host&actor_id=21969438&response-content-disposition=attachment%3B%20filename%3Dvictoria-metrics-v1.34.7-cluster.tar.gz&response-content-type=application%2Foctet-stream -o victoria-metrics-v1.34.7-cluster.tar.gz"
[root@k8s-master01 ~]# tar zxvf victoria-metrics-v1.34.7-cluster.tar.gz
  1. 構(gòu)建images
    vmselect 和vminsert 相同寂诱。修改二進(jìn)制文件即可
FROM alpine:3
RUN echo "http://mirrors.aliyun.com/alpine/v3.8/main" > /etc/apk/repositories \
    && apk update \
    && apk add --no-cache tzdata \
    && apk add --no-cache curl \
    && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone \
    && apk del tzdata \
    && rm -rf /var/cache/apk/* \
    && rm -rf /root/.cache \
    && rm -rf /tmp/*
WORKDIR /
COPY vmselect /bin/
ENTRYPOINT ["/bin/vmselect"]
  1. 推送到harbor私服
docker build . -t vmselect
docker tag vmselect registry.rong360.com/base/vmselect:v1.34.7
docker push registry.rong360.com/base/vmselect:v1.34.7

部署步驟:

  1. master節(jié)點(diǎn)安裝git拂苹,helm
  2. 下載vm-cluster相關(guān)charts
[root@k8s-master01 ~]# git clone https://github.com/VictoriaMetrics/helm-charts.git
  1. 修改相關(guān)配置
  • 修改helm-charts/charts/victoria-metrics-cluster/values.yaml 中 vmstorage.enable 為false
  • 修改vmselect,vminsert 中image.repository 和image.tag 為harbor 私服的地址和tag
  1. 安裝vm-cluster到集群中,修改select 和 insert 的svc 類型為headless
[root@k8s-master01 victoria-metrics-cluster]# helm install  prod -n monitoring . 
  1. 修改prometheus 實(shí)例中遠(yuǎn)程寫配置(prometheus-prometheus.yaml)
  remoteWrite:
    - url: http://vm-cluster-vminsert.monitoring.svc:8480/insert/0/prometheus/
  1. 在虛擬機(jī)中部署storage 節(jié)點(diǎn)痰洒,二進(jìn)制文件瓢棒, 使用supervisor管理即可

  2. 修改grafana 中讀取配置
    因?yàn)榫€上grafana 位于集群外部。 需要使用nginx 接入代理vmselect 和insert丘喻。參考例子

server {
    listen 80; 
    server_name vm.rong360.com;
    location ^~/select/ {
        proxy_pass http://vm-select;
    }
    location ^~/insert/ {
        proxy_pass http://vm-insert;
    }
    location ^~/snapshot/ {
        proxy_pass http://vm-storage;
    }
}

grafana 的配置實(shí)例“http://vm.rong360.com/insert/0/prometheus/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末脯宿,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子泉粉,更是在濱河造成了極大的恐慌连霉,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗡靡,死亡現(xiàn)場離奇詭異跺撼,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)叽躯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進(jìn)店門财边,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人点骑,你說我怎么就攤上這事酣难。” “怎么了黑滴?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵憨募,是天一觀的道長。 經(jīng)常有香客問我袁辈,道長菜谣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任晚缩,我火速辦了婚禮尾膊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘荞彼。我一直安慰自己冈敛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布鸣皂。 她就那樣靜靜地躺著抓谴,像睡著了一般暮蹂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上癌压,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天仰泻,我揣著相機(jī)與錄音,去河邊找鬼滩届。 笑死集侯,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的丐吓。 我是一名探鬼主播浅悉,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼券犁!你這毒婦竟也來了术健?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤粘衬,失蹤者是張志新(化名)和其女友劉穎荞估,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稚新,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡勘伺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了褂删。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片飞醉。...
    茶點(diǎn)故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖屯阀,靈堂內(nèi)的尸體忽然破棺而出缅帘,到底是詐尸還是另有隱情,我是刑警寧澤难衰,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布钦无,位于F島的核電站,受9級特大地震影響盖袭,放射性物質(zhì)發(fā)生泄漏失暂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一鳄虱、第九天 我趴在偏房一處隱蔽的房頂上張望弟塞。 院中可真熱鬧,春花似錦拙已、人聲如沸宣肚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽霉涨。三九已至,卻和暖如春惭适,著一層夾襖步出監(jiān)牢的瞬間笙瑟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工癞志, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留往枷,地道東北人。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓凄杯,卻偏偏與公主長得像错洁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子戒突,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評論 2 359