Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: fix lab post #10

Merged
merged 1 commit into from
Dec 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
layout: post
title: Monitoring
tags: monitoring tools devops lab grafana prometheus promtail loki
---

Expand Down
88 changes: 0 additions & 88 deletions _drafts/tools/_posts/2023-11-01-service-archive.md

This file was deleted.

7 changes: 6 additions & 1 deletion _includes/refs.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,9 @@
[^slab-repo]: <https://github.com/ecshreve/slab>
[^slab-coder]: <https://github.com/ecshreve/slab/>

[^run-repo]: <https://github.com/amonks/run/>
[^run-repo]: <https://github.com/amonks/run/>

[^prometheus-docs]: <https://prometheus.io/docs/introduction/overview/>
[^grafana-docs]: <https://grafana.com/docs/grafana/latest/>
[^promtail-docs]: <https://grafana.com/docs/loki/latest/>
[^loki-docs]: <https://grafana.com/docs/loki/latest/>
Binary file added assets/images/projects/lab/lab-coder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
85 changes: 85 additions & 0 deletions overview/_posts/2023-11-01-service-archive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
layout: post
title: Service Archive
tags: tools lab
---

This page is a list of anything I can remember trying out or using at some point in my homelab. The plan is to organize these into groups and add some context / notes about them.

## note taking / knowledge management

- joplin
- obsidian
- drawio
- bookstack
- wikijs

## task management

- taskwarrior
- taskserver
- taskwarrior-web

## media

- radarr
- sonarr
- lidarr
- readarr
- jackett
- syncthing
- plex
- tautulli
- kodi
- calibre

## iot

- homeassistant
- homebridge
- switchbot

## monitoring

- portainer
- grafana
- prometheus
- telegraf
- influxdb
- chronograf
- promtail
- loki
- cadvisor

## dbs

- mariadb
- adminer
- redis

## version control / cicd

- gitea
- gitlab
- jenkins

## network

- pihole
- adguard
- unbound
- traefik

## security

- authelia
- vaultwarden
- vault

## dashboards landing pages

- dashy
- heimdall
- homepage
- homer
- organizr
57 changes: 42 additions & 15 deletions overview/_posts/2023-12-01-lab-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,21 @@ tags: lab devops ansible terraform proxmox docker nomad consul linux

I started my homelab with an old desktop and then brought in a Synology NAS, initially focusing on media management and Plex. Since then I've tried all sorts of hardware and software configurations out, and the setup has evolved into a more general-purpose lab.

More or less up to date diagram
[![Lab Current](/assets/images/projects/lab/lab-cur.png)](/assets/images/projects/lab/lab-cur.png)

## Network

Currently all wired hosts in lab are connected to a 24 port Ubiquiti switch, which uplinks to a Ubiquiti Dream Router via a Ubuiquiti AP configured as a wireless bridge. A dedicated SSID provides wireless access to the lab's network.

{% include hardware.html hostname = "olympus" %}

{% include hardware.html hostname = "athena" %}

<br/>

## Servers // Compute
## Compute

The lab's main compute resources are two Lenovo Mini PCs.

`coderbox` is running Ubuntu 22.04 and has [Coder](/overview/coder) running as a system service, this is used for most of my development work, most often I connect to workspaces in Coder via VS Code Remote SSH. Occassionally I'll SSH into it directly.
`coderbox` is running Ubuntu 22.04 and has [Coder](/overview/coder) running as a system service, this is used for most of my development work. I usually create a new workspace for each project I'm working on. Most often I connect to workspaces in Coder via VS Code Remote SSH. Occassionally I'll SSH into `coderbox` directly.

{% include hardware.html hostname = "coderbox" %}

<br/>
<br>

{% include toolref.html tool = "coder" %}

<br>

`srv-1` is running Proxmox VE, providing a virtualization platform for the lab. It's
running a number of Ubuntu VMs, their resource definitions are mananged via Terraform
Expand All @@ -37,7 +30,9 @@ see the [devops](#devops) section below.

{% include hardware.html hostname = "srv-1" %}

<br/>
<br>

{% include toolref.html tool = "proxmox" %}

## Storage

Expand All @@ -54,10 +49,42 @@ core services used by the lab. Vault is the primary NAS, while Knossus maintains

<br/>

## Network

Currently all wired hosts in lab are connected to a 24 port Ubiquiti switch, which uplinks to a Ubiquiti Dream Router via a Ubuiquiti AP configured as a wireless bridge. A dedicated SSID provides wireless access to the lab's network.

{% include hardware.html hostname = "olympus" %}

{% include hardware.html hostname = "athena" %}

## Devops

[Ansible](/overview/ansible), [Terraform](/overview/terraform), and [Docker](/overview/docker), are the main tools I use when it comes to workload orchestration and configuration automation. I've used them to provision and manage a variety of resources in the lab, including virtual machines, containers, and development environments.

## Monitoring

Metrics and monitoring are some of my favorite things to work on. I've used a variety of tools over the years, and I'm always looking for new ways to visualize and understand the data I collect.

I'm currently using a combination of Prometheus[^prometheus-docs] and Grafana[^grafana-docs] to collect and display metrics from my homelab. Additionally I'm running Promtail[^promtail-docs] and Loki[^loki-docs] to collect logs. All are running as jobs on my [Nomad](/overview/nomad) cluster.


### Grafana Dashboards

Keeping track of dashboard configuration is something I'm still trying to find the right solution for, but here's a few of the dashboards I'm using today.

Node Exporter
[![Node Exporter](/assets/images/monitoring/node-exporter.png)](/assets/images/monitoring/node-exporter.png)

<hr>

Nomad Exporter
[![Nomad Exporter](/assets/images/monitoring/nomad-exporter.png)](/assets/images/monitoring/nomad-exporter.png)

<hr>

Loki Logs
[![Loki Logs](/assets/images/monitoring/loki-logs.png)](/assets/images/monitoring/loki-logs.png)

## Appendix

In the past these two Dell servers ran mainly LXC containers and are now retired. They wereway overpowered for what I was doing with them, but I got them for a good price and it was fun to have 60 CPU cores and 120 gigs of RAM for awhile.
Expand Down