In dieser Übung wollen wir uns anschauen wie man Prometheus auf einer EC2 laufen lassen kann.
- Wir erstellen eine Securitygroup mit den inbound rules:
- HTTP 80
- SSH 22
- TCP 3000
- TCP 9090
- TCP 9100
- Wir erstellen 2 ec2 Instanzen(Ubuntu) und geben Ihnen einen SSH Key mit. Eine prometheus Maschine und eine Maschine die wir kontrollieren beobachten wollen.
https://prometheus.io/docs/introduction/first_steps/
-
Wir verbinden uns per SSH/Instance connect zu unserer Prometheus Maschine
-
Wir erstellen einen Ordner und wechseln rein.
mkdir prometheus
cd prometheus
-
Wir suchen die aktuelle Version von Prometheus von der Prometheus Downloadseite raus. https://prometheus.io/download/
-
Wir kopieren uns den Link zur Linux stable version und laden die Datei in unserer Machine runter. (aktuell: https://github.com/prometheus/prometheus/releases/download/v2.47.2/prometheus-2.47.2.linux-amd64.tar.gz)
wget https://github.com/prometheus/prometheus/releases/download/v2.47.2/prometheus-2.47.2.linux-amd64.tar.gz
- Datei entpacken
tar xvfz prometheus-*.tar.gz
und in den Ordner wecseln.
tar xvfz prometheus-2.47.2.linux-amd64.tar.gz
cd prometheus-2.47.2.linux-amd64
- Dort sollte sich nun das Programm fnden, welches wir nun starten können.
./prometheus
- Standartmäßig nutzt Prometheus den Port 9090. Wir können nun über den Browser darauf zugreifen.
Glückwunsch Prometheus läuft auf dem Server.
Nun braucht die Machine noch Daten die abgerufen werden können. Hierzu müssen wir einen Node Exporter installieren.
-
Wir wechseln wieder auf die Verbindung im Ubuntu Ordner und wollen nun das Programm node exporter installieren.
-
Zunächst Beenden wir Prometheus und suchen die Datei für den prometheus node exporter aus der Doku und installieren Ihn wie zuvor prometheus:
Link zur Datei: https://prometheus.io/download/#node_exporter
mkdir node_exporter
cd node_exporter
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar xvfz node_exporter-1.6.1.linux-amd64.tar.gz
- Nun wechseln wir in den neuen Ordner un starten das Programm.
cd node_exporter-1.6.1.linux-amd64
./node_exporter
Der Standart Port lautet 9100.
-
Wir können nun den Node Exporter über den Browser aufrufen http://IP-EC2:9100
-
Wir können nun eine zweite Machine genauso mit dem Node Exporter bespielen.
-
Jetzt wollen wir Prometheus so configurieren das alle Daten geladen werden. Auf der Prometheus Maschine im Prometheus Ordner erstellen wir eine
exporter-config.yml
erstellen.
touch exporter-config.yml
- Diese soll nun wie folgt beschrieben werden:
nano exporter-config.yml
global:
scrape_interval: 15s
scrape_configs:
- job_name: node
static_configs:
- targets: ['localhost:9100','IP-der-EC2-Node:9100']
- Nun können wir Prometheus mit der neuen conifg starten:
./prometheus --config.file=exporter-config.yml
Link: https://grafana.com/docs/grafana/latest/setup-grafana/installation/debian/
sudo apt-get install -y apt-transport-https software-properties-common wget
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
# Updates the list of available packages
sudo apt-get update
# Installs the latest OSS release:
sudo apt-get install grafana
- Nun muss Grafana noch gestartet werden (https://grafana.com/docs/grafana/latest/setup-grafana/start-restart-grafana/)
sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl status grafana-server
sudo systemctl enable grafana-server.service
Grafana läuft Standart auf Port 3000 und kann nun erreicht werden unter: http://IP-EC2:3000
- Logindaten sind zu beginn username: admin password: admin Beim ersten Login wird man gebeten das Passwort neu zu vergeben.