<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Monitoring on Di</title>
        <link>https://dixu.ddns.net/tags/monitoring/</link>
        <description>Recent content in Monitoring on Di</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-us</language>
        <lastBuildDate>Wed, 23 Sep 2026 12:00:00 -0400</lastBuildDate><atom:link href="https://dixu.ddns.net/tags/monitoring/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>Grafana Installation and Configuration on Ubuntu</title>
            <link>https://dixu.ddns.net/p/grafana-installation-and-configuration-on-ubuntu/</link>
            <pubDate>Fri, 05 Sep 2025 22:35:57 -0500</pubDate>
            <guid>https://dixu.ddns.net/p/grafana-installation-and-configuration-on-ubuntu/</guid>
            <description>&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://grafana.com/&#34;  title=&#34;Official&#34;&#xA;     target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Grafana&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://grafana.com/grafana/dashboards/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Grafana Dashboards&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;ubuntu-2404-lts&#34;&gt;Ubuntu 24.04 LTS&#xA;&lt;/h2&gt;&lt;p&gt;Install &lt;strong&gt;Grafana OSS&lt;/strong&gt; from the official stable APT repository. Run the following commands with a sudo-enabled account.&lt;/p&gt;&#xA;&lt;h3 id=&#34;install-grafana&#34;&gt;Install Grafana&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y ca-certificates wget curl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo install -d -m &lt;span class=&#34;m&#34;&gt;0755&lt;/span&gt; /etc/apt/keyrings&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo wget -O /etc/apt/keyrings/grafana.asc https://apt.grafana.com/gpg-full.key&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo chmod &lt;span class=&#34;m&#34;&gt;0644&lt;/span&gt; /etc/apt/keyrings/grafana.asc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;deb [signed-by=/etc/apt/keyrings/grafana.asc] https://apt.grafana.com stable main&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sudo tee /etc/apt/sources.list.d/grafana.list &amp;gt; /dev/null&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apt-cache policy grafana&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y grafana&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dpkg-query -W -f&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;${Package} ${Version}\n&amp;#39;&lt;/span&gt; grafana&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;.asc&lt;/code&gt; file contains the ASCII-armored signing key and does not need &lt;code&gt;gpg --dearmor&lt;/code&gt;. The &lt;code&gt;grafana&lt;/code&gt; package installs OSS; &lt;code&gt;grafana-enterprise&lt;/code&gt; is a separate package choice. See the &lt;a class=&#34;link&#34; href=&#34;https://grafana.com/docs/grafana/latest/setup-grafana/installation/debian/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;official Ubuntu installation guide&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The repository command replaces this dedicated source file instead of appending another entry. If Grafana was previously configured in a different &lt;code&gt;.list&lt;/code&gt; or &lt;code&gt;.sources&lt;/code&gt; file, reconcile those entries before running &lt;code&gt;apt update&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;configure-local-access&#34;&gt;Configure Local Access&#xA;&lt;/h3&gt;&lt;p&gt;Back up the configuration and edit it:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo cp -a /etc/grafana/grafana.ini &lt;span class=&#34;s2&#34;&gt;&amp;#34;/etc/grafana/grafana.ini.bak.&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;date +%Y%m%d-%H%M%S&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo nano /etc/grafana/grafana.ini&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Update the existing &lt;code&gt;[server]&lt;/code&gt; section. Remove the leading semicolon from the settings you change; do not append a duplicate section.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ini&#34; data-lang=&#34;ini&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;[server]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;protocol&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;http&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;http_addr&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;127.0.0.1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;http_port&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;3000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;domain&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;localhost&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;root_url&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;http://localhost:3000/&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This example listens only on the server&amp;rsquo;s loopback interface. &lt;code&gt;http_addr&lt;/code&gt; controls the listening address; &lt;code&gt;domain&lt;/code&gt; does not create a DNS record, and &lt;code&gt;root_url&lt;/code&gt; defines the URL users access. See the &lt;a class=&#34;link&#34; href=&#34;https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Grafana configuration reference&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;start-the-service&#34;&gt;Start the Service&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl daemon-reload&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; --now grafana-server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl restart grafana-server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl status grafana-server --no-pager&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The restart also applies the configuration if the package was already running.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ss -ltnp &lt;span class=&#34;s1&#34;&gt;&amp;#39;sport = :3000&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl --fail --silent --show-error http://127.0.0.1:3000/api/health&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The health response should report &lt;code&gt;&amp;quot;database&amp;quot;: &amp;quot;ok&amp;quot;&lt;/code&gt;. This checks Grafana&amp;rsquo;s own database connection, not the health of external data sources. See the &lt;a class=&#34;link&#34; href=&#34;https://grafana.com/docs/grafana/latest/developer-resources/api-reference/http-api/api-legacy/other/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;health API&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;first-login&#34;&gt;First Login&#xA;&lt;/h3&gt;&lt;p&gt;On the server, open &lt;code&gt;http://localhost:3000&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;For a remote server, run an SSH tunnel from your workstation, replacing the account and address:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh -N -L 3000:127.0.0.1:3000 username@192.168.1.50&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Keep the tunnel open and visit &lt;code&gt;http://localhost:3000&lt;/code&gt; on the workstation. Local port 3000 must be available.&lt;/p&gt;&#xA;&lt;p&gt;For a fresh installation, sign in with username &lt;strong&gt;admin&lt;/strong&gt; and password &lt;strong&gt;admin&lt;/strong&gt;, then set a new password. Existing installations retain their configured credentials. See &lt;a class=&#34;link&#34; href=&#34;https://grafana.com/docs/grafana/latest/setup-grafana/sign-in-to-grafana/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Sign in to Grafana&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;optional-allow-lan-access&#34;&gt;Optional: Allow LAN Access&#xA;&lt;/h2&gt;&lt;p&gt;To access Grafana directly from other computers on a trusted LAN, edit the same &lt;code&gt;[server]&lt;/code&gt; section:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo nano /etc/grafana/grafana.ini&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ini&#34; data-lang=&#34;ini&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;[server]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;protocol&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;http&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;http_addr&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;0.0.0.0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;http_port&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;3000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;domain&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;192.168.1.50&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;root_url&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;http://192.168.1.50:3000/&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Replace &lt;code&gt;192.168.1.50&lt;/code&gt; with the server&amp;rsquo;s LAN address. &lt;code&gt;0.0.0.0&lt;/code&gt; listens on all IPv4 interfaces; alternatively, bind to a specific IP assigned to the server. Do not use a hostname or an unassigned public IP as &lt;code&gt;http_addr&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl restart grafana-server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl status grafana-server --no-pager&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl --fail --silent --show-error http://192.168.1.50:3000/api/health&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If UFW is already active, allow the required client subnet:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ufw allow from 192.168.1.0/24 to any port &lt;span class=&#34;m&#34;&gt;3000&lt;/span&gt; proto tcp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ufw status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Replace the subnet to match your network, then open &lt;code&gt;http://192.168.1.50:3000&lt;/code&gt; from a client computer.&lt;/p&gt;&#xA;&lt;p&gt;For a DNS name, create a record pointing to the server and update &lt;code&gt;domain&lt;/code&gt; and &lt;code&gt;root_url&lt;/code&gt; accordingly. This example uses HTTP. For access over an untrusted network, configure &lt;a class=&#34;link&#34; href=&#34;https://grafana.com/docs/grafana/latest/setup-grafana/set-up-https/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;HTTPS&lt;/a&gt; or use the SSH tunnel above.&lt;/p&gt;&#xA;&lt;h2 id=&#34;add-a-data-source&#34;&gt;Add a Data Source&#xA;&lt;/h2&gt;&lt;p&gt;Grafana needs a data source, such as Prometheus, to display your metrics. Installing Grafana alone does not collect host metrics.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open &lt;strong&gt;Connections &amp;gt; Add new connection&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Choose the data source type and select &lt;strong&gt;Add new data source&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Enter its URL and any required authentication settings.&lt;/li&gt;&#xA;&lt;li&gt;Select &lt;strong&gt;Save &amp;amp; test&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Use an address reachable from the &lt;strong&gt;Grafana server&lt;/strong&gt;. For example, &lt;code&gt;http://localhost:9090&lt;/code&gt; refers to Prometheus on that server, not on your browser&amp;rsquo;s computer. See &lt;a class=&#34;link&#34; href=&#34;https://grafana.com/docs/grafana/latest/administration/data-source-management/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Data source management&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;After the connection succeeds, create a dashboard or use a compatible template from the dashboard catalog linked above. Dashboard queries must match the selected data source and the metrics it contains.&lt;/p&gt;&#xA;&lt;h2 id=&#34;service-management&#34;&gt;Service Management&#xA;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl restart grafana-server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl stop grafana-server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl start grafana-server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl is-enabled grafana-server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo journalctl -u grafana-server -n &lt;span class=&#34;m&#34;&gt;100&lt;/span&gt; --no-pager&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo journalctl -u grafana-server -f&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Restart Grafana after changing &lt;code&gt;grafana.ini&lt;/code&gt;. Editing this file does not require &lt;code&gt;systemctl daemon-reload&lt;/code&gt;; that command is needed when the systemd unit changes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&#xA;&lt;/h2&gt;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Symptom&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Check&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;APT reports conflicting &lt;code&gt;Signed-By&lt;/code&gt; values&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Look for duplicate Grafana repository entries referencing different key files.&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Service fails to bind&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Check whether port 3000 is occupied and whether &lt;code&gt;http_addr&lt;/code&gt; exists on the server.&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Browser cannot connect&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Check service status, listening address, SSH tunnel, and firewall rules.&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Redirect points to the wrong host&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Set &lt;code&gt;root_url&lt;/code&gt; to the URL used by clients, including the port when required.&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Configuration changes have no effect&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Remove comment semicolons, restart the service, and check for &lt;code&gt;GF_*&lt;/code&gt; environment overrides.&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Dashboard has no data&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Test the data source, check its queries, and adjust the dashboard time range.&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;</description>
        </item></channel>
</rss>
