Created
November 1, 2019 12:35
-
-
Save sdmoko/22445c4c3e92d93d606df573eb5dc6ab to your computer and use it in GitHub Desktop.
Revisions
-
sdmoko created this gist
Nov 1, 2019 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,155 @@ # Create Instances for Prometheus Server and Grafana # Download Prometheus Server ``` cd /tmp wget -c https://github.com/prometheus/prometheus/releases/download/v2.13.1/prometheus-2.13.1.linux-amd64.tar.gz ``` # Extract Prometheus Server ``` tar zxvf prometheus-2.13.1.linux-amd64.tar.gz ``` # Move to some directory ``` mv prometheus-2.13.1.linux-amd64 /opt/prometheus-server cd /opt/prometheus-server ``` # Edit configuration file ``` vim config.yml ``` ``` # my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=` to any timeseries scraped from this config. - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'openstack-sd' openstack_sd_configs: - identity_endpoint: https://keystone-url:5000/v3 username: username project_id: projectid password: password role: instance region: region-name domain_name: domain-name port: 9100 ``` # Configure Systemd Service for Prometheus Service vim /etc/systemd/system/prometheus-server.service ``` [Unit] Description=Prometheus Server [Service] User=root ExecStart=/opt/prometheus-server/prometheus --config.file=/opt/prometheus-server/config.yml --web.external-url=http://ip-server:9090/ [Install] WantedBy=default.target ``` # Running Service ``` systemctl daemon-reload systemctl enable prometheus-server.service systemctl start prometheus-server.service ``` # Verification Service ``` systemctl status prometheus-server.service ss -tulpn |grep 9090 ``` # Install Grafana ``` cd /tmp wget -c https://dl.grafana.com/oss/release/grafana_6.4.3_amd64.deb dpkg -i grafana_6.4.3_amd64.deb ``` # Running Service ``` systemctl daemon-reload systemctl start grafana-server systemctl enable grafana-server ``` # Verification ``` systemctl status grafana-server ss -tulpn | grep 3000 ``` # Configura Datasource and Dashboard on Grafana - Login to Grafana - Add data source - Choose Prometheus ``` Name: Prometheus Http settings URL: http://localhost:9090 ``` - Save and Test - Add Dashboard # Create new instance with node exporter # Install node-exporter on ubuntu instances ``` cd /tmp/ wget -c https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz tar zxvf node_exporter-0.18.1.linux-amd64.tar.gz mv node_exporter-0.18.1.linux-amd64 /opt/node_exporter ``` # Create systemd service and running node-exporter ``` cat << EOF >/etc/systemd/system/node_exporter.service [Unit] Description=Node Exporter [Service] User=root ExecStart=/opt/node_exporter/node_exporter [Install] WantedBy=default.target EOF systemctl daemon-reload systemctl enable node_exporter.service systemctl start node_exporter.service systemctl status node_exporter.service ```