直到Prometheus实现联邦(Prometheus联邦设置指南)

前言

https://qiita.com/sinnsa233048/items/e6bcfa97660e38007a93 的续篇

普羅米修斯的建立/配置

    1. 将kube-prometheus的清单部署到k8s集群中

 

    1. 在prometheus1服务器上创建prometheus容器

 

    在prometheus1服务器上创建grafana容器

在哪种环境下使用过

从上次开始,已经添加了Prometheus节点。

    • 使用OS: CentOS7.8

 

    • masterノード

ノード名: master1
ipアドレス: 192.168.10.11

wokerノード

ノード名: woker1
ipアドレス: 192.168.10.21

prometheusノード

ノード名: prometheus1
ipアドレス: 192.168.10.31

将kube-prometheus的清单部署到k8s集群中。

使用核心的 Kube-prometheus 存储库的部署。

从Git中克隆

# yum -y install git
# git clone https://github.com/coreos/kube-prometheus.git

# cd kube-prometheus

部署宣言书

由于此次不使用alartmanager,因此需要创建其他目录。

# mkdir manifests-not-deploy
# mv manifests/alertmanager*  manifests-not-deploy/

除了AlertManager的配置文件外,部署其他清单文件。

# kubectl create -f manifests/setup
# kubectl create -f manifests

修改宣言书

本次我们将使用NodePort方式公开Prometheus端口,并进行外部访问。
(关于Grafana,本次也将进行公开。)

    manifests/prometheus-service.yaml

添加类型为NodePort的端口,node端口为30090。

apiVersion: v1
kind: Service
metadata:
  labels:
    prometheus: k8s
  name: prometheus-k8s
  namespace: monitoring
spec:
  type: NodePort
  ports:
  - name: web
    port: 9090
    targetPort: web
    nodePort: 30090
  selector:
    app: prometheus
    prometheus: k8s
  sessionAffinity: ClientIP
    manifests/grafana-service.yaml

也会添加相同的内容:
type: NodePort
nodePort: 30090

apiVersion: v1
kind: Service
metadata:
  labels:
    app: grafana
  name: grafana
  namespace: monitoring
spec:
  type: NodePort
  ports:
  - name: http
    port: 3000
    targetPort: http
    nodePort: 30080
  selector:
    app: grafana

在prometheus1服务器上创建prometheus容器。

安装Docker

使用docker官方的安装脚本(在k8s集群搭建教程中也使用过)。

$ curl https://get.docker.com | sh

# systemctl enable docker
# systemctl start docker

創建Prometheus的設定檔案

获取在k8s集群中构建的Prometheus的所有信息。

cat <<EOF > /tmp/prometheus.yml
scrape_configs:
  - job_name: 'federate'
    scrape_interval: 15s

    honor_labels: true
    metrics_path: '/federate'

    params:
      'match[]':
        - '{job=".+"}'
        - '{__name__=~".+"}'

    static_configs:
      - targets:
        - '192.168.10.11:30090'
EOF

启动prometheus容器

# docker run -d -p 9090:9090 -v/tmp/prometheus.yml:/etc/prometheus/prometheus.yml 
 prom/prometheus

在Prometheus服务器上创建Grafana容器。

启动容器

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

設置數據源

选择Prometheus,并在URL中指定为http://localhost:9090。

仪表盘设置

将标记了kubernetes-mixin的dashbord从在k8s集群中构建的grafana导出,并在prometheus1服务器上导入和使用grafana。

最终一步

我将介绍分两个部分在Prometheus上实现联邦的方法。
如果有任何疑问或指正,请随时提出。

bannerAds