Openshift3.9上部署Prometheus+Grafana實現集群的監控與告警

Openshift從3.9版本開始官方支持Prometheus和Grafana

從官方部署腳本 openshift-ansible 中的目錄playbooks下的列表 中可以看到相關部署腳本
openshift-prometheus
openshift-grafana

既然官方支持,部署安裝就十分簡單了。

部署安裝Prometheus

/etc/ansible/hosts添加配置

[OSEv3:vars]
openshift_hosted_prometheus_deploy=true

執行安裝

ansible-playbook  playbooks/openshift-prometheus/config.yml

打開宿主機的9100端口(kubernetes-nodes-exporter)

ansible all -m shell -a 'iptables -A OS_FIREWALL_ALLOW -p tcp -m state --state NEW -m tcp --dport 9100 -j ACCEPT; service iptables save'

完成

查看下資源狀態

prometheus會默認部署在新創建的project中:openshift-metrics
1個statefulset資源:prometheus
1個DaemonSet資源:prometheus-node-exporter
4個Service資源:alertmanager 、alerts、prometheus、prometheus-node-exporter
3個route資源:alertmanager、alerts、prometheus
3個ServiceAccount:prometheus、prometheus-node-exporter、prometheus-reader

部署安裝Grafana

注意,3.9-release分支下的grafana安裝腳本有問題,請使用最新master分支下的腳本進行安裝

檢查節點的label

oc get node -l node-role.kubernetes.io/infra=true

如果沒有node-role.kubernetes.io/infra=true標簽的Node節點的話,需要給Node配置標簽

oc label node nodename1 node-role.kubernetes.io/infra=true

/etc/ansible/hosts添加配置

[OSEv3:vars]
grafana_namespace=openshift-grafana
grafana_user=grafana
grafana_password=grafana
grafana_datasource_name="default"
grafana_prometheus_namespace="openshift-metrics"
grafana_prometheus_sa=prometheus
grafana_node_exporter=false
grafana_graph_granularity="2m"

執行安裝

ansible-playbook playbooks/openshift-grafana/config.yml

完成

查看下資源狀態

1個deployment:grafana
1個service: grafana
1個route: grafana
1個serviceaccount: grafana
1個configmap:grafana-config

最終效果圖


展示圖1
展示圖2

補充:
grafana admin密碼丟失,如何重置?

$ grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" admin

prometheus中配置內存使用率(node_memory_requests_total是我自己寫的exporter監控數據)

sum(node_memory_requests_total) by(node_name) / sum(label_replace(machine_memory_bytes, 'node_name', "$1", "instance", "(.*)" )) by (node_name)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。