|
@@ -12,3 +12,48 @@
|
|
# See the License for the specific language governing permissions and
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
# limitations under the License.
|
|
---
|
|
---
|
|
|
|
+
|
|
|
|
+- name: Get kube-prometheus svc IP
|
|
|
|
+ command: kubectl get svc -n {{ monitoring_namespace }} -l app=kube-prometheus-stack-prometheus -o=jsonpath='{.items[0].spec.clusterIP}'
|
|
|
|
+ changed_when: false
|
|
|
|
+ register: kube_prom_svc_ip
|
|
|
|
+
|
|
|
|
+- name: Get kube-prometheus svc port
|
|
|
|
+ command: kubectl get svc -n {{ monitoring_namespace }} -l app=kube-prometheus-stack-prometheus -o=jsonpath='{.items[0].spec.ports[0].port}'
|
|
|
|
+ changed_when: false
|
|
|
|
+ register: kube_prom_svc_port
|
|
|
|
+
|
|
|
|
+- name: Create prometheus datasource
|
|
|
|
+ community.grafana.grafana_datasource:
|
|
|
|
+ name: control-plane-prometheus
|
|
|
|
+ grafana_url: "http://{{ grafana_svc_ip.stdout }}:{{ grafana_svc_port.stdout }}"
|
|
|
|
+ grafana_user: "{{ grafana_username }}"
|
|
|
|
+ grafana_password: "{{ grafana_password }}"
|
|
|
|
+ ds_type: prometheus
|
|
|
|
+ ds_url: "http://{{ kube_prom_svc_ip.stdout }}:{{ kube_prom_svc_port.stdout }}"
|
|
|
|
+ access: proxy
|
|
|
|
+ no_log: true
|
|
|
|
+
|
|
|
|
+- name: Import K8s Grafana dashboards
|
|
|
|
+ community.grafana.grafana_dashboard:
|
|
|
|
+ grafana_url: "http://{{ grafana_svc_ip.stdout }}:{{ grafana_svc_port.stdout }}"
|
|
|
|
+ grafana_user: "{{ grafana_username }}"
|
|
|
|
+ grafana_password: "{{ grafana_password }}"
|
|
|
|
+ state: present
|
|
|
|
+ commit_message: Updated by ansible
|
|
|
|
+ overwrite: yes
|
|
|
|
+ path: "{{ role_path }}/files/{{ item }}"
|
|
|
|
+ with_items: "{{ grafana_dashboard_json_files }}"
|
|
|
|
+ no_log: true
|
|
|
|
+
|
|
|
|
+- name: Save grafana svc ip
|
|
|
|
+ replace:
|
|
|
|
+ path: "{{ role_path }}/../../../roles/k8s_start_services/files/grafana_svc_details.ini"
|
|
|
|
+ regexp: "ip=.*"
|
|
|
|
+ replace: "ip={{ grafana_svc_ip.stdout }}"
|
|
|
|
+
|
|
|
|
+- name: Save grafana port
|
|
|
|
+ replace:
|
|
|
|
+ path: "{{ role_path }}/../../../roles/k8s_start_services/files/grafana_svc_details.ini"
|
|
|
|
+ regexp: "port=.*"
|
|
|
|
+ replace: "port={{ grafana_svc_port.stdout }}"
|