summaryrefslogtreecommitdiffstats
path: root/backends/WALKTHROUGH.md
diff options
context:
space:
mode:
Diffstat (limited to 'backends/WALKTHROUGH.md')
-rw-r--r--backends/WALKTHROUGH.md70
1 files changed, 35 insertions, 35 deletions
diff --git a/backends/WALKTHROUGH.md b/backends/WALKTHROUGH.md
index 7f1dda66f4..50cd08b254 100644
--- a/backends/WALKTHROUGH.md
+++ b/backends/WALKTHROUGH.md
@@ -47,14 +47,14 @@ before we do this we want name resolution between the two containers to work.
In order to accomplish this we will create a user-defined network and attach
both containers to this network. The first command we should run is:
-```
+```sh
docker network create --driver bridge netdata-tutorial
```
With this user-defined network created we can now launch our container we will
install Netdata on and point it to this network.
-```
+```sh
docker run -it --name netdata --hostname netdata --network=netdata-tutorial -p 19999:19999 centos:latest '/bin/bash'
```
@@ -72,19 +72,19 @@ several one-liners to install Netdata. I have not had any issues with these one
liners and their bootstrapping scripts so far (If you guys run into anything do
share). Run the following command in your container.
-```
+```sh
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --dont-wait
```
After the install completes you should be able to hit the Netdata dashboard at
-http://localhost:19999/ (replace localhost if you’re doing this on a VM or have
+<http://localhost:19999/> (replace localhost if you’re doing this on a VM or have
the docker container hosted on a machine not on your local system). If this is
your first time using Netdata I suggest you take a look around. The amount of
time I’ve spent digging through /proc and calculating my own metrics has been
greatly reduced by this tool. Take it all in.
Next I want to draw your attention to a particular endpoint. Navigate to
-http://localhost:19999/api/v1/allmetrics?format=prometheus&help=yes In your
+<http://localhost:19999/api/v1/allmetrics?format=prometheus&help=yes> In your
browser. This is the endpoint which publishes all the metrics in a format which
Prometheus understands. Let’s take a look at one of these metrics.
`netdata_system_cpu_percentage_average{chart="system.cpu",family="cpu",dimension="system"}
@@ -107,43 +107,43 @@ the install process and setup on a fresh container. This will allow anyone
reading to migrate this tutorial to a VM or Server of any sort.
Let’s start another container in the same fashion as we did the Netdata
-container. `docker run -it --name prometheus --hostname prometheus
---network=netdata-tutorial -p 9090:9090 centos:latest '/bin/bash'` This should
-drop you into a shell once again. Once there quickly install your favorite
-editor as we will be editing files later in this tutorial. `yum install vim -y`
+container.
+
+```sh
+docker run -it --name prometheus --hostname prometheus
+--network=netdata-tutorial -p 9090:9090 centos:latest '/bin/bash'
+```
-Prometheus provides a tarball of their latest stable versions here:
-https://prometheus.io/download/. Let’s download the latest version and install
-into your container.
+This should drop you into a shell once again. Once there quickly install your favorite editor as we will be editing files later in this tutorial.
+```sh
+yum install vim -y
```
-curl -L 'https://github.com/prometheus/prometheus/releases/download/v1.7.1/prometheus-1.7.1.linux-amd64.tar.gz' -o /tmp/prometheus.tar.gz
+
+Prometheus provides a tarball of their latest stable versions [here](https://prometheus.io/download/).
+
+Let’s download the latest version and install into your container.
+
+```sh
+cd /tmp && curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest \
+| grep "browser_download_url.*linux-amd64.tar.gz" \
+| cut -d '"' -f 4 \
+| wget -qi -
mkdir /opt/prometheus
-tar -xf /tmp/prometheus.tar.gz -C /opt/prometheus/ --strip-components 1
+sudo tar -xvf /tmp/prometheus-*linux-amd64.tar.gz -C /opt/prometheus --strip=1
```
-This should get prometheus installed into the container. Let’s test that we can run
-prometheus and connect to it’s web interface. This will look similar to what
-follows:
+This should get prometheus installed into the container. Let’s test that we can run prometheus and connect to it’s web interface.
-```
-[root@prometheus prometheus]# /opt/prometheus/prometheus
-INFO[0000] Starting prometheus (version=1.7.1, branch=master, revision=3afb3fffa3a29c3de865e1172fb740442e9d0133)
- source="main.go:88"
-INFO[0000] Build context (go=go1.8.3, user=root@0aa1b7fc430d, date=20170612-11:44:05) source="main.go:89"
-INFO[0000] Host details (Linux 4.9.36-moby #1 SMP Wed Jul 12 15:29:07 UTC 2017 x86_64 prometheus (none)) source="main.go:90"
-INFO[0000] Loading configuration file prometheus.yml source="main.go:252"
-INFO[0000] Loading series map and head chunks... source="storage.go:428"
-INFO[0000] 0 series loaded. source="storage.go:439"
-INFO[0000] Starting target manager... source="targetmanager.go:63"
-INFO[0000] Listening on :9090 source="web.go:259"
+```sh
+/opt/prometheus/prometheus
```
-Now attempt to go to http://localhost:9090/. You should be presented with the
+Now attempt to go to <http://localhost:9090/>. You should be presented with the
prometheus homepage. This is a good point to talk about Prometheus’s data model
-which can be viewed here: https://prometheus.io/docs/concepts/data_model/ As
+which can be viewed here: <https://prometheus.io/docs/concepts/data_model/> As
explained we have two key elements in Prometheus metrics. We have the ‘metric’
and its ‘labels’. Labels allow for granularity between metrics. Let’s use our
previous example to further explain.
@@ -162,7 +162,7 @@ Let’s move our attention to Prometheus’s configuration. Prometheus gets it
config from the file located (in our example) at
`/opt/prometheus/prometheus.yml`. I won’t spend an extensive amount of time
going over the configuration values documented here:
-https://prometheus.io/docs/operating/configuration/. We will be adding a new
+<https://prometheus.io/docs/operating/configuration/>. We will be adding a new
“job” under the “scrape_configs”. Let’s make the “scrape_configs” section look
like this (we can use the dns name Netdata due to the custom user-defined
network we created in docker beforehand).
@@ -189,7 +189,7 @@ scrape_configs:
```
Let’s start prometheus once again by running `/opt/prometheus/prometheus`. If we
-now navigate to prometheus at ‘http://localhost:9090/targets’ we should see our
+now navigate to prometheus at ‘<http://localhost:9090/targets>’ we should see our
target being successfully scraped. If we now go back to the Prometheus’s
homepage and begin to type ‘netdata_’ Prometheus should auto complete metrics
it is now scraping.
@@ -206,7 +206,7 @@ the following:
Our NetData cpu graph should be showing some activity. Let’s represent this in
Prometheus. In order to do this let’s keep our metrics page open for reference:
-http://localhost:19999/api/v1/allmetrics?format=prometheus&help=yes We are
+<http://localhost:19999/api/v1/allmetrics?format=prometheus&help=yes> We are
setting out to graph the data in the CPU chart so let’s search for “system.cpu”
in the metrics page above. We come across a section of metrics with the first
comments `# COMMENT homogeneous chart "system.cpu", context "system.cpu", family
@@ -249,7 +249,7 @@ can send metrics “as-collected” by specifying the ‘source=as-collected’
parameter like so.
http://localhost:19999/api/v1/allmetrics?format=prometheus&help=yes&types=yes&source=as-collected
If you choose to use this method you will need to use Prometheus's set of
-functions here: https://prometheus.io/docs/querying/functions/ to obtain useful
+functions here: <https://prometheus.io/docs/querying/functions/> to obtain useful
metrics as you are now dealing with raw counters from the system. For example
you will have to use the `irate()` function over a counter to get that metric's
rate per second. If your graphing needs are met by using the metrics returned by
@@ -266,7 +266,7 @@ we need to do is done via the GUI. Let’s run the following command:
docker run -i -p 3000:3000 --network=netdata-tutorial grafana/grafana
```
-This will get grafana running at ‘http://localhost:3000/’ Let’s go there and
+This will get grafana running at ‘<http://localhost:3000/>’ Let’s go there and
login using the credentials Admin:Admin.
The first thing we want to do is click ‘Add data source’. Let’s make it look