Openshift3.9上部署Prometheus+Grafan
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