<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.craftoftesting.com/index.php?action=history&amp;feed=atom&amp;title=Setting_up_Monitoring</id>
	<title>Setting up Monitoring - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.craftoftesting.com/index.php?action=history&amp;feed=atom&amp;title=Setting_up_Monitoring"/>
	<link rel="alternate" type="text/html" href="https://wiki.craftoftesting.com/index.php?title=Setting_up_Monitoring&amp;action=history"/>
	<updated>2026-08-20T01:43:30Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.craftoftesting.com/index.php?title=Setting_up_Monitoring&amp;diff=97&amp;oldid=prev</id>
		<title>Gregpaskal: Created page with &quot;{{: Header_Nav}}  = The following steps were used to set up a monitoring solution. =  ----  = Prepare a base VM =  Let&#039;s begin by making a new VM based on the VM_Deb12_Master_v02  ----  = Install Prometheus =  == Ensure apt is up to date ==  &lt;code&gt;sudo apt update&lt;/code&gt;  == Install Prometheus ==  &lt;code&gt;sudo apt install prometheus&lt;/code&gt;  == Verify Prometheus is installed ==  &lt;code&gt;systemctl status prometheus&lt;/code&gt;  == Configuring Prometheus ==  * By default, Prometheus...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.craftoftesting.com/index.php?title=Setting_up_Monitoring&amp;diff=97&amp;oldid=prev"/>
		<updated>2025-04-05T03:49:00Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{: Header_Nav}}  = The following steps were used to set up a monitoring solution. =  ----  = Prepare a base VM =  Let&amp;#039;s begin by making a new VM based on the VM_Deb12_Master_v02  ----  = Install Prometheus =  == Ensure apt is up to date ==  &amp;lt;code&amp;gt;sudo apt update&amp;lt;/code&amp;gt;  == Install Prometheus ==  &amp;lt;code&amp;gt;sudo apt install prometheus&amp;lt;/code&amp;gt;  == Verify Prometheus is installed ==  &amp;lt;code&amp;gt;systemctl status prometheus&amp;lt;/code&amp;gt;  == Configuring Prometheus ==  * By default, Prometheus...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{: Header_Nav}}&lt;br /&gt;
&lt;br /&gt;
= The following steps were used to set up a monitoring solution. =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Prepare a base VM =&lt;br /&gt;
&lt;br /&gt;
Let&amp;#039;s begin by making a new VM based on the VM_Deb12_Master_v02&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Install Prometheus =&lt;br /&gt;
&lt;br /&gt;
== Ensure apt is up to date ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Prometheus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt install prometheus&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verify Prometheus is installed ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl status prometheus&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring Prometheus ==&lt;br /&gt;
&lt;br /&gt;
* By default, Prometheus uses a basic configuration.&lt;br /&gt;
* You can customize the configuration by editing the Prometheus configuration file located at /etc/prometheus/prometheus.yml.&lt;br /&gt;
* Add your targets (endpoints to monitor) and other settings as needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd /etc/etc/prometheus&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remember to run nano with sudo so you can write this file.&lt;br /&gt;
&amp;lt;code&amp;gt;sudo nano prometheus.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start Prometheus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start prometheus&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stop Prometheus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl stop prometheus&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Restarting Prometheus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl restart prometheus&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Accessing Prometheus ==&lt;br /&gt;
&lt;br /&gt;
* Prometheus runs as a service and listens on port 9090 by default.&lt;br /&gt;
* Open a web browser and navigate to http://192.168.2.243:9090&lt;br /&gt;
&lt;br /&gt;
== Getting Started with Prometheus ==&lt;br /&gt;
&lt;br /&gt;
https://prometheus.io/docs/prometheus/latest/getting_started/&lt;br /&gt;
&lt;br /&gt;
= Install Prometheus - Blackbox Exporter =&lt;br /&gt;
&lt;br /&gt;
== Ensure apt is up to date ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Prometheus - Blackbox Exporter ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt install prometheus-blackbox-exporter&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Blackbox Exporter with permissions to perform a ping ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo setcap cap_net_raw+ep /usr/bin/prometheus-blackbox-exporter&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Blackbox Exporter ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd /etc/prometheus&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo nano blackbox.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
(At the moment I don&amp;#039;t think I need to do anything in here)&lt;br /&gt;
&lt;br /&gt;
== Launch Blackbox Exporter ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start prometheus-blackbox-exporter&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Enable Blackbox Exporter to start on boot ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable prometheus-blackbox-exporter&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Install Prometheus Pushgateway =&lt;br /&gt;
&lt;br /&gt;
== Create a directory for prometheus pushgateway ==&lt;br /&gt;
&amp;lt;code&amp;gt;sudo mkdir /var/lib/prometheus-pushgateway&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create the Pushgateway config directories ==&lt;br /&gt;
&amp;lt;code&amp;gt;for i in rules rules.d files_sd; do sudo mkdir -p /etc/prometheus-pushgateway/${i} done&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create a temporary directory for Pushgateway download ==&lt;br /&gt;
&amp;lt;code&amp;gt;sudo mkdir -p /tmp/prometheus-pushgateway&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd /tmp/prometheus-pushgateway&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download the latest Prometheus Pushgateway binary package: ==&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://github.com/prometheus/pushgateway/releases/download/v1.9.0/pushgateway-1.9.0.linux-amd64.tar.gz/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extract the downloaded file ==&lt;br /&gt;
&amp;lt;code&amp;gt;sudo tar xvf pushgateway*.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Relocate the binary files extracted ==&lt;br /&gt;
&amp;lt;code&amp;gt;cd pushgateway*/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo mv pushgateway /usr/local/bin/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create a service unit file for Prometheus Pushgateway ==&lt;br /&gt;
&amp;lt;code&amp;gt;sudo nano /etc/systemd/system/prometheus-pushgateway.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Add the following code (using Nano) ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Prometheus Pushgateway&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=prometheus&lt;br /&gt;
Group=prometheus&lt;br /&gt;
ExecStart=/usr/local/bin/pushgateway --web.listen-address=:9091&lt;br /&gt;
Restart=always&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reload systemd to pick up the new service unit ==&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Enable to start on boot ==&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable prometheus-pushgateway&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start the service ==&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start prometheus-pushgateway&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verify the service is running ==&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl status prometheus-pushgateway&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Access Prometheus Pushgateway Dashboard via Web Interface ==&lt;br /&gt;
&lt;br /&gt;
http://192.168.2.243:9091/&lt;br /&gt;
&lt;br /&gt;
= Install Go =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt upgrade -y&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt install golang-go -y&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verify Go is installed ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;go version&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Add Go to the path ==&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
= Install NodeJS =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt upgrade -y&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt install nodejs npm -y&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Check NodeJS installed ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nodejs --version&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Check that Node Package Manager is Installed ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;npm --version&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install PromLens =&lt;br /&gt;
&lt;br /&gt;
== Clone Repo ==&lt;br /&gt;
&lt;br /&gt;
Change directory to Downloads folder&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd Downloads&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://github.com/prometheus/promlens/releases/download/v0.3.0/promlens-0.3.0.linux-amd64.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tar -xvzf promlens-0.3.0.linux-amd64.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;chmod +x promlens-0.3.0.linux-amd64&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mv promlens-0.3.0.linux-amd64 promlens-linux-adm64&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo mv promlens-linux-amd64 /usr/local/bin/promlens&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create a service unit file for PromLens ==&lt;br /&gt;
&amp;lt;code&amp;gt;sudo nano /etc/systemd/system/promlens.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Add the following code to this file ==&lt;br /&gt;
&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=PromLens Service&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=/usr/local/bin/promlens/promlens&lt;br /&gt;
WorkingDirectory=/usr/local/bin/promlens&lt;br /&gt;
User=gregpaskal&lt;br /&gt;
Restart=always&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
== Reload systemd to pick up the new service ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable promlens.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Enable the service to start on boot ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable promlens.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start the service ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start promlens.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== verify the service is running ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl status promlens.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install Grafana =&lt;br /&gt;
&lt;br /&gt;
== Ensure apt is up to date ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Add Grafana APT Repository ==&lt;br /&gt;
&lt;br /&gt;
Import the GPG key to allow installation of signed Grafana packages:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo mkdir -p /etc/apt/keyrings/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg &amp;gt; /dev/null&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Choose the stable repository ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo &amp;quot;deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/grafana.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update the package list ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Grafana using apt ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install grafana&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start Grafana ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start grafana-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configure Grafana to start on boot ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable grafana-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Check if Grafana is enabled ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl status grafana-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Access Grafana ==&lt;br /&gt;
&lt;br /&gt;
http://192.168.2.243:3000&lt;br /&gt;
&lt;br /&gt;
== Setup a  username and password for Grafana ==&lt;br /&gt;
&lt;br /&gt;
When you install Grafana, it comes with a default administrator account. To set up a new username and password, follow these steps:&lt;br /&gt;
Enter the default username: admin and password: admin&lt;br /&gt;
&lt;br /&gt;
Enter a new password: (Whatever you choose)&lt;br /&gt;
&lt;br /&gt;
Create a new user&lt;br /&gt;
&lt;br /&gt;
http://192.168.2.243:3000/admin/users&lt;br /&gt;
&lt;br /&gt;
= Install Apache 2 =&lt;br /&gt;
&lt;br /&gt;
== Check if Apache is already installed ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apachectl -v&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update the package list ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Apache2 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt install apache2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl status apache2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apachectl -v&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl is-enabled apache2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install Dokuwiki =&lt;br /&gt;
&lt;br /&gt;
== Download Docuwiki ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd /var/www/html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extract ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo tar xzvf dokuwiki-stable.tgz -C /var/www/html/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rename folder ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo mv dokuwiki-*/ dokuwiki/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Set proper permissions ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo chown -R www-data:www-data /var/www/html/dokuwiki/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup Docuwiki ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://192.168.2.243/install.php&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Install Cockpit =&lt;br /&gt;
Cockpit monitors local system resources.&lt;br /&gt;
&lt;br /&gt;
== Update the package list ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Cockpit ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt install cockpit&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup Cockpit to use a specific port ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mkdir -p /etc/systemd/system/cockpit.socket.d/&lt;br /&gt;
sudo nano /etc/systemd/system/cockpit.socket.d/listen.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter the following in nano&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Socket]&lt;br /&gt;
ListenStream=&lt;br /&gt;
ListenStream=1111&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Save and exit Nano ==&lt;br /&gt;
&lt;br /&gt;
== Reload the system daemon ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start Cockpit ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start cockpit.socket&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verify Cockpit is installed correctly ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl status cockpit&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Go to Cockpit ==&lt;br /&gt;
&lt;br /&gt;
https://192.168.2.243:1111/&lt;br /&gt;
&lt;br /&gt;
= Setup a ping to monitor using Prometheus and Grafana =&lt;br /&gt;
&lt;br /&gt;
== Configure Prometheus for ping ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd /etc/prometheus/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo nano prometheus.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following code as a scrape_config&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
- job_name: &amp;#039;website-ping-gregpaskal.com&amp;#039;&lt;br /&gt;
  metrics_path: /probe&lt;br /&gt;
  params:&lt;br /&gt;
    module: [icmp]&lt;br /&gt;
  static_configs:&lt;br /&gt;
    - targets:&lt;br /&gt;
      - gregpaskal.com  # Replace with the actual website URL&lt;br /&gt;
  relabel_configs:&lt;br /&gt;
    - source_labels: [__address__]&lt;br /&gt;
      target_label: __param_target&lt;br /&gt;
    - source_labels: [__param_target]&lt;br /&gt;
      target_label: instance&lt;br /&gt;
    - target_label: __address__&lt;br /&gt;
      replacement: localhost:9115  # Blackbox exporter address&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Client Dashboards =&lt;br /&gt;
&lt;br /&gt;
Grafana is an excellent solution for creating separate dashboards for different clients while managing user access and permissions.&lt;br /&gt;
&lt;br /&gt;
Here’s how Grafana can address your requirements:&lt;br /&gt;
&lt;br /&gt;
Multiple Organizations:&lt;br /&gt;
* Grafana allows you to create multiple organizations, each acting as a separate workspace.&lt;br /&gt;
* Each organization can have its own set of users, dashboards, and data sources.&lt;br /&gt;
* This separation ensures that clients’ data and configurations remain isolated.&lt;br /&gt;
&lt;br /&gt;
User Management:&lt;br /&gt;
* Grafana provides robust user management features:&lt;br /&gt;
** User Accounts: You can create individual user accounts for each client.&lt;br /&gt;
** Roles and Permissions: Assign roles (e.g., Viewer, Editor, Admin) to control what each user can access.&lt;br /&gt;
** LDAP/AD Integration: Grafana can integrate with LDAP or Active Directory for centralized user management.&lt;br /&gt;
** SAML Authentication: Use SAML for single sign-on (SSO) and secure authentication.&lt;br /&gt;
&lt;br /&gt;
Dashboard Access Control:&lt;br /&gt;
* Grafana allows you to set permissions at the dashboard level:&lt;br /&gt;
** Folder Permissions: Control access to specific folders containing dashboards.&lt;br /&gt;
** Team Permissions: Assign teams to dashboards and manage access for those teams.&lt;br /&gt;
** Data Source Permissions: Restrict access to specific data sources per dashboard.&lt;br /&gt;
&lt;br /&gt;
Customization:&lt;br /&gt;
* Grafana lets you customize each client’s dashboards:&lt;br /&gt;
** Variables: Create client-specific variables (e.g., for filtering data by client ID).&lt;br /&gt;
** Annotations: Add annotations to highlight events or specific data points relevant to each client.&lt;br /&gt;
&lt;br /&gt;
White-Labeling:&lt;br /&gt;
* Grafana Enterprise offers white-labeling options:&lt;br /&gt;
** Customize the Grafana interface with your clients’ branding (logo, colors, etc.).&lt;br /&gt;
&lt;br /&gt;
In summary, Grafana’s multi-organization support, user management, and fine-grained access control make it an ideal choice for creating separate dashboards tailored to different clients’ needs. 🌐📊🔒&lt;/div&gt;</summary>
		<author><name>Gregpaskal</name></author>
	</entry>
</feed>