您好,登錄后才能下訂單哦!
使用prometheus怎么實現(xiàn)遠(yuǎn)程存儲,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
mac 10.14
docker
Engine: Version: 18.09.2 API version: 1.39 (minimum version 1.12) Go version: go1.10.6 Git commit: 6247962 Built: Sun Feb 10 04:13:06 2019 OS/Arch: linux/amd64 Experimental: false
在docker部署偽分布式kafka集群
新建名為:metrics的topic
[Mac 使用 docker 搭建 kafka 集群 + Zookeeper + kafka-manager](https://learnku.com/articles/19221) docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=localhost --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=10.3.0.170:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://1localhost:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka docker run -d --name kafka1 -p 9093:9093 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=10.3.0.170:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka docker run -d --name kafka2 -p 9094:9094 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=10.3.0.170:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9094 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9094 -t wurstmeister/kafka bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 2 --topic metrics bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic partopic bin/kafka-console-producer.sh --broker-list localhost:9092 --topic metrics bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic metrics --from-beginning
Prometheus的本地存儲設(shè)計可以減少其自身運維和管理的復(fù)雜度,同時能夠滿足大部分用戶監(jiān)控規(guī)模的需求。但是本地存儲也意味著Prometheus無法持久化數(shù)據(jù),無法存儲大量歷史數(shù)據(jù),同時也無法靈活擴(kuò)展和遷移。
為了保持Prometheus的簡單性,Prometheus并沒有嘗試在自身中解決以上問題,而是通過定義兩個標(biāo)準(zhǔn)接口(remote_write/remote_read),讓用戶可以基于這兩個接口對接將數(shù)據(jù)保存到任意第三方的存儲服務(wù)中,這種方式在Promthues中稱為Remote Storage。
遠(yuǎn)程存儲官方文檔
本文主要講解遠(yuǎn)程存儲至kafka的過程。
該adapter的github地址
將github代碼拉下來,并使用goland打開進(jìn)行編譯,此步十分麻煩且重要。
mac上安裝go及goland
在goland上對源碼進(jìn)行編譯,其中有很多包下載不了,特別是/golang.org/x/...
類型的包,原因是這些包被墻了,所以需要增加代理才可以。直接執(zhí)行
$ export http_proxy=socks5://127.0.0.1:1080 // 梯子的本地端口 $ export https_proxy=$http_proxy $ export GOPROXY=https://goproxy.io
問題一:解決golang.org/x包無法下載的問題
問題二:解決golang grpc安裝問題
問題三
$ go test # pkg-config –cflags rdkafka Package rdkafka was not found in the pkg-config search path. Perhaps you should add the directory containing `rdkafka.pc’ to the PKG_CONFIG_PATH environment variable No package ‘rdkafka’ found pkg-config: exit status 1
result
1. git clone https://github.com/edenhill/librdkafka.git cd librdkafka ./configure make make install
先修改源碼config.go中的kafkaBrokerList
為本地kafka的地址。
對prometheus-kafka-adapter
源碼進(jìn)行編譯:
go test go build
沒有問題之后,在源碼中會出現(xiàn)一個名為prometheus-kafka-adapter
的可執(zhí)行文件,然后執(zhí)行。 3. 修改prometheus
的配置文件prometheus.yml
中增加:
remote_write: - url: "http://<kafka.ip>:8080/receive"
kafka那邊進(jìn)行消費,就可以看到監(jiān)控數(shù)據(jù)了。
mac 10.14
docker
Engine: Version: 18.09.2 API version: 1.39 (minimum version 1.12) Go version: go1.10.6 Git commit: 6247962 Built: Sun Feb 10 04:13:06 2019 OS/Arch: linux/amd64 Experimental: false
在docker部署influxdb
1. prometheus 使用influxdb 做永久存儲
2. Prometheus高可用(2):理解遠(yuǎn)端存儲
3. Prometheus 遠(yuǎn)程讀寫 Influxdb
在父目錄下執(zhí)行:
go build ./documentation/examples/remote_storage/remote_storage_adapter/
關(guān)于使用prometheus怎么實現(xiàn)遠(yuǎn)程存儲問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。