自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

無痛入門Prometheus:一個強大的開源監(jiān)控和告警系統(tǒng),安裝使用

開源
自2012年推出以來,許多公司和組織都采用了Prometheus,該項目擁有非?;钴S的開發(fā)者和用戶社區(qū)。它現(xiàn)在是一個獨立的開源項目,獨立于任何公司進行維護。為了強調(diào)這一點,并明確項目的治理結(jié)構(gòu),Prometheus 于 2016 年加入 云原生計算基金會,成為繼Kubernetes之后的第二個托管項目。

一、前生今世

Prometheus 是完全開源的系統(tǒng)監(jiān)控和告警工具包,它受 Google 內(nèi)部的 BorgMon 監(jiān)控系統(tǒng)啟發(fā),由前Google 工程師從 2012 年開始在 SoundCloud 以開源軟件的形式進行研發(fā),自此以后,許多公司和組織都采用了Prometheus 作為監(jiān)控告警工具。Prometheus 的開發(fā)者和用戶社區(qū)非?;钴S,它現(xiàn)在是一個獨立的開源項目,可以獨立于任何公司進行維護。

自2012年推出以來,許多公司和組織都采用了Prometheus,該項目擁有非?;钴S的開發(fā)者和用戶社區(qū)。它現(xiàn)在是一個獨立的開源項目,獨立于任何公司進行維護。為了強調(diào)這一點,并明確項目的治理結(jié)構(gòu),Prometheus 于 2016 年加入 云原生計算基金會,成為繼Kubernetes之后的第二個托管項目。

Prometheus的主要特點是:

  • 多維數(shù)據(jù)模型,其中時間序列數(shù)據(jù)由指標名稱和鍵/值對標識。
  • PromQL,一種 利用此維度的靈活查詢語言。
  • 不依賴分布式存儲;單個服務器節(jié)點是自治的。
  • 時間序列收集通過 HTTP 上的拉模型進行。
  • 通過中間網(wǎng)關(guān)支持推送時間序列。
  • 通過服務發(fā)現(xiàn)或靜態(tài)配置發(fā)現(xiàn)目標。
  • 多種圖形和儀表板支持模式。

二、架構(gòu)圖

下圖說明了 Prometheus 的架構(gòu)及其一些生態(tài)系統(tǒng)組件:

三、安裝

開啟內(nèi)核路由轉(zhuǎn)發(fā)。

echo -e "net.ipv4.ip_forward = 1\nnet.ipv4.conf.default.rp_filter = 0 \nnet.ipv4.conf.all.rp_filter = 0" >> /etc/sysctl.conf  sysctl -p

創(chuàng)建配置文件。

vim prometheus.yml
# my global config
global:
  scrape_interval:     15s # 采集被監(jiān)控段指標的一個周期
  evaluation_interval: 15s # 告警評估的一個周期

# 告警的配置文件
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# 告警規(guī)則配置
rule_files:
  # - "first_rules.yml"
# 被監(jiān)控端的配置,目前只有一個節(jié)點,就是prometheus本身
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']

啟動鏡像,將主配置文件掛載到容器內(nèi)。

docker run -d  -p 9090:9090 \
--name prometheus  \
--restart on-failure  \
-v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus

執(zhí)行后需要下載鏡像文件,需要等待一會。

完全啟動后可以,訪問Prometheus自帶的UI:http://xx.xx.xx.xx:9090/。

自帶的WEB UI比較簡單,后面會說到功能比較全面dashboard grafana。

四、使用

cAdvisor 是 Google 開源的容器監(jiān)控工具,它可以收集容器的資源使用情況、網(wǎng)絡流量、文件系統(tǒng)使用情況等指標數(shù)據(jù)。cAdvisor 可以部署在 Kubernetes 集群中的每個節(jié)點上,以收集集群中所有容器的監(jiān)控數(shù)據(jù)。

cAdvisor 部署的目的如下:

  • 監(jiān)控容器的運行狀態(tài):cAdvisor 可以收集容器的資源使用情況、網(wǎng)絡流量、文件系統(tǒng)使用情況等指標數(shù)據(jù),這些數(shù)據(jù)可以幫助我們了解容器的運行狀態(tài),并及時發(fā)現(xiàn)異常情況。
  • 分析容器的性能瓶頸:通過分析 cAdvisor 收集的監(jiān)控數(shù)據(jù),我們可以分析容器的性能瓶頸,并采取措施進行優(yōu)化。
  • 提高容器的資源利用率:通過監(jiān)控容器的資源使用情況,我們可以合理分配資源,提高容器的資源利用率。

cAdvisor 是 Kubernetes 集群中必不可少的監(jiān)控工具,它可以幫助我們更好地了解和管理容器。

cAdvisor 的優(yōu)勢

  • 開源:cAdvisor 是完全開源的,可以免費使用。
  • 輕量級:cAdvisor 是一個輕量級的應用程序,不會給集群帶來太大的負載。
  • 易用:cAdvisor 的配置和使用都非常簡單。

cAdvisor 的缺點

  • 數(shù)據(jù)存儲能力有限:cAdvisor 默認會將監(jiān)控數(shù)據(jù)存儲在內(nèi)存中,如果數(shù)據(jù)量較大,可能會導致內(nèi)存溢出。
  • 可視化能力有限:cAdvisor 本身沒有提供可視化工具,需要使用第三方工具來可視化監(jiān)控數(shù)據(jù)。

cAdvisor 的部署

  • 使用 Helm 部署:Helm 是一個 Kubernetes 包管理工具,可以使用 Helm 來部署 cAdvisor。
  • 使用 Docker 部署:cAdvisor 可以作為 Docker 容器運行,可以使用 Docker 來部署 cAdvisor。
  • 手動部署:可以下載 cAdvisor 的二進制文件,并手動部署到 Kubernetes 集群中。

下面介紹docker部署cAdvisor:

docker run -d   \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro  \
--volume=/sys:/sys:ro  \
--volume=/var/lib/docker/:/var/lib/docker:ro  \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest

訪問該地址,就能看到實時采集到的數(shù)據(jù):http://xx.xx.xx.xx:8080/containers/。

http://xx.xx.xx.xx:8080/metrics/ 就是cAdvisor提供的數(shù)據(jù)接口。

然后修改prometheus.yml。

vim /data/prometheus/prometheus.yml

修改prometheus的配置文件,復制一個job文件,job_name 指名稱,targets為cAdvisor服務器地址ip和端口。

# global config
global:
  scrape_interval:     15s # 采集被監(jiān)控段指標的一個周期
  evaluation_interval: 15s # 告警評估的一個周期

# 告警的配置文件
alerting:
  alertmanagers:
  - static_configs:
    - targets:

# 告警規(guī)則配置
rule_files:
  # - "first_rules.yml"
# 被監(jiān)控端的配置,目前只有一個節(jié)點,就是prometheus本身
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'prometheus docker'
    static_configs:
    - targets: ['10.9.2.50:8080']

修改完成重啟prometheus。

docker restart prometheus

http://xx.xx.xx.xx:9090/targets 可以看到監(jiān)控指標說明獲取數(shù)據(jù)成功。

五、監(jiān)控界面

Grafana 是一個開源的監(jiān)控和可視化工具,它可以連接到各種數(shù)據(jù)源,并以圖表、儀表盤和報表的形式展示數(shù)據(jù)。Grafana 可以用于監(jiān)控任何類型的系統(tǒng),包括 Kubernetes 集群、Web 應用程序、IoT 設備等。

Grafana 的功能

  • 連接到各種數(shù)據(jù)源:Grafana 支持連接到各種數(shù)據(jù)源,包括 Prometheus、InfluxDB、Elasticsearch、MySQL、PostgreSQL 等。
  • 以圖表、儀表盤和報表的形式展示數(shù)據(jù):Grafana 提供了豐富的圖表類型,可以滿足不同的數(shù)據(jù)展示需求。
  • 支持自定義儀表盤:Grafana 允許用戶自定義儀表盤,以滿足特定的監(jiān)控需求。
  • 支持報警:Grafana 可以將報警通知發(fā)送到 Slack、郵件等方式。

Grafana 的優(yōu)勢

  • 開源:Grafana 是完全開源的,可以免費使用。
  • 靈活:Grafana 可以連接到各種數(shù)據(jù)源,并以各種方式展示數(shù)據(jù)。
  • 易用:Grafana 的配置和使用都非常簡單。

Grafana 的缺點

  • 數(shù)據(jù)存儲能力有限:Grafana 本身沒有提供數(shù)據(jù)存儲功能,需要使用第三方工具來存儲數(shù)據(jù)。
  • 可視化能力有限:Grafana 提供的圖表類型有限,可能無法滿足復雜的監(jiān)控需求。

Grafana 的部署

  • 使用 Docker 部署:Grafana 可以作為 Docker 容器運行,可以使用 Docker 來部署 Grafana。
  • 手動部署:可以下載 Grafana 的二進制文件,并手動部署到服務器上。

下面是docker方式部署grafana。

docker  run -d --name=grafana  -p 3000:3000  grafana/grafana

執(zhí)行后,下載鏡像并啟動。http://xx.xx.xx.xx:3000,默認用戶名/密碼:admin/admin。

選擇 "Add your first data source"。

進入后選擇Prometheus。

填寫相關(guān)信息。

添加Prometheus模板。

輸入id號,193。

下拉,選擇Prometheus,然后Import。

成功展示來由Prometheus數(shù)據(jù)。

責任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2022-05-02 18:15:04

KubernetesLinux開源

2024-02-21 16:13:36

CNCF開源監(jiān)控工具Prometheus

2020-11-15 18:20:44

GnuCash開源會計軟

2022-07-29 21:23:54

Grafana微服務

2023-10-10 08:22:12

Tesseract庫開源

2020-12-30 05:34:25

監(jiān)控PrometheusGrafana

2020-12-10 10:00:59

監(jiān)控Java可視化

2021-07-01 11:29:45

KubernetesGrafana監(jiān)控

2013-08-02 11:22:52

監(jiān)控監(jiān)控工具

2020-12-28 10:13:32

運維Prometheus監(jiān)控

2022-02-22 22:59:16

開源監(jiān)控工具

2025-01-09 06:00:00

Checkmate監(jiān)控系統(tǒng)開源

2024-02-19 08:26:59

wxPython界面庫開發(fā)

2015-03-30 12:20:07

DemoStoryboard

2022-11-08 00:00:00

監(jiān)控系統(tǒng)Prometheus

2019-01-17 08:38:03

Redis監(jiān)控內(nèi)存

2023-12-27 18:05:13

2023-11-22 09:42:02

系統(tǒng)檢測

2019-04-29 11:18:43

開源Sensu監(jiān)控

2021-03-31 08:02:34

Prometheus 監(jiān)控運維
點贊
收藏

51CTO技術(shù)棧公眾號