// Aula 12 - Criando uma HTTP Service Discovery # dnf install python3-pip # pip install flask # vim httpsd.py from flask import Flask, jsonify, request app = Flask(__name__) servicos = [ { "targets": ["10.0.10.2:9100", "10.0.10.3:9100", "10.0.10.4:9100", "10.0.10.5:9100"], "labels": { "__meta_datacenter": "sao paulo", "__meta_prometheus_job": "node" } }, { "targets": ["10.0.40.2:9100", "10.0.40.3:9100"], "labels": { "__meta_datacenter": "campinas", "__meta_prometheus_job": "alertmanager" } }, { "targets": ["10.0.40.2:9093", "10.0.40.3:9093"], "labels": { "__meta_datacenter": "fortaleza", "__meta_prometheus_job": "alertmanager" } } ] @app.route('/servicos', methods=['GET']) def listar_servicos(): return jsonify(servicos) @app.route('/servicos', methods=['POST']) def adicionar_servico(): novo_servico = request.json servicos.append(novo_servico) return jsonify(novo_servico) if __name__ == '__main__': app.run(host='0.0.0.0', port=8080) # firewall-cmd --add-port=8080/tcp --permanent # firewall-cmd --reload # vim /etc/systemd/system/servidorsd.service [Unit] Description=Servidor Flask para SD HTTP [Service] User=root WorkingDirectory=/root/ ExecStart=/usr/bin/python3 /root/httpsd.py Restart=always [Install] WantedBy=multi-user.target # sudo systemctl daemon-reload # systemctl enable --now servidorsd # sudo systemctl status servidorsd # ss -altnp | grep 8080 # vim /etc/prometheus/prometheus.yml - job_name: httpsd metrics_path: /servicos http_sd_configs: - url: http://192.168.15.141:8080/servicos # systemctl restart prometheus