<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Globalping</title>
    <description>The latest articles on DEV Community by Globalping (@globalping).</description>
    <link>https://dev.to/globalping</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F7016%2Fdfda0963-8e0a-4f80-a78b-2ad71a3d32ab.png</url>
      <title>DEV Community: Globalping</title>
      <link>https://dev.to/globalping</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/globalping"/>
    <language>en</language>
    <item>
      <title>8 Self-hosted Projects You Can Run at home</title>
      <dc:creator>Dmitriy A.</dc:creator>
      <pubDate>Fri, 13 Feb 2026 14:27:35 +0000</pubDate>
      <link>https://dev.to/globalping/8-self-hosted-projects-you-can-run-at-home-424l</link>
      <guid>https://dev.to/globalping/8-self-hosted-projects-you-can-run-at-home-424l</guid>
      <description>&lt;p&gt;Running your own infrastructure at home is easier than ever. With Docker and an old Raspberry Pi or small server, you can host all kinds of fun and useful tools and have them all under your control.&lt;/p&gt;

&lt;p&gt;Self-hosting can help you save on subscription fees, gain privacy and flexibility, and can even become a fun hobby. In this blog post, we'll explore eight open source projects you can run yourself, whether on a spare laptop or a rented VPS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Memos
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://usememos.com/" rel="noopener noreferrer"&gt;Memos&lt;/a&gt; is a lightweight, open source note-taking platform that's great for capturing quick thoughts, todos, and knowledge snippets. It supports Markdown and can be easily deployed with Docker, making it a great choice for running on your home server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it's great:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;100% private: because you host it yourself, there's no third-party tracking or analytics&lt;/li&gt;
&lt;li&gt;Markdown-based: all your notes stay portable and easy to migrate to other Markdown-based tools&lt;/li&gt;
&lt;li&gt;Free and open source: all features and future updates are available without spending a cent&lt;/li&gt;
&lt;li&gt;Flexible use: works great as a personal notebook or a small team knowledge base&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using Memos is a simple way to replace cloud-based notes apps with something you fully host yourself. For example, you could run it as your private daily log or idea archive, and access it from anywhere on your home network.&lt;/p&gt;

&lt;p&gt;There’s also a demo available:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg7sdp1axy41ijx1vi8k0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg7sdp1axy41ijx1vi8k0.png" alt="memos" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Globalping
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/jsdelivr/globalping-probe" rel="noopener noreferrer"&gt;Globalping&lt;/a&gt; is a network measurement platform that lets you run commands like ping, mtr, dig, and http from locations around the world. This is possible because it relies on a distributed network of community-hosted probes that run these commands. &lt;br&gt;
When you host a probe, it automatically joins the Globalping network and can be selected by the Globalping API to execute a user's measurement request.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it's great:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Secure: Probes only communicate with the Globalping API and block potentially dangerous domains and IP ranges&lt;/li&gt;
&lt;li&gt;Earn credits: you can adopt your probe in the free &lt;a href="https://dash.globalping.io/" rel="noopener noreferrer"&gt;Globalping Dashboard&lt;/a&gt; and earn credits for running it, which you can use for additional tests beyond the API rate limits&lt;/li&gt;
&lt;li&gt;Multiple integrations: Run tests via the CLI, Slack app, MCP server, n8n node, directly through the API, or other available integrations.&lt;/li&gt;
&lt;li&gt;Real-world learning: if you're interested in networking, hosting a probe, and experimenting with the Globalping platform is a great way to get practical experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you already use Globalping, running a probe is a great way to give back to the community and help improve the platform's global coverage and reliability.&lt;/p&gt;

&lt;p&gt;Once adopted, you can view and manage probes in the Globalping Dashboard:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fllgv9yxzq4y496tbrfp7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fllgv9yxzq4y496tbrfp7.png" alt="Globalping Dashboard" width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  n8n
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://n8n.io/" rel="noopener noreferrer"&gt;n8n&lt;/a&gt; is a workflow automation tool that lets you connect apps and APIs through a visual interface. You can build automated workflows by linking triggers, actions, and logic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it's great:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visual builder: "draw" workflows by connecting nodes (apps) and filling out forms to configure them&lt;/li&gt;
&lt;li&gt;No per-task fees: with the self-hosted version, you can create as many projects, users, and workflows as you like without paying a fee&lt;/li&gt;
&lt;li&gt;Extensible: n8n provides hundreds of built-in nodes, and you can also write custom JavaScript and implement complex logic yourself&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As an open-source, self-hosted platform, n8n lets you automate interactions between your own services (such as the tools mentioned in this post) without relying on a SaaS platform. For example, you could use it to build a &lt;a href="https://blog.globalping.io/network-measurement-automation-globalping-n8n/" rel="noopener noreferrer"&gt;simple monitoring solution for your API&lt;/a&gt;, combining a schedule trigger with Globalping to send HTTP requests to your API and send a Slack alert if any problems occur:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl27ytz1xmpn0qntsjayb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl27ytz1xmpn0qntsjayb.png" alt="n8n monitoring workflow with Globalping" width="800" height="242"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ConvertX
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/C4illin/ConvertX" rel="noopener noreferrer"&gt;ConvertX&lt;/a&gt; is a self-hosted file conversion service that supports over 1000 formats for video, audio, images, and documents. It runs in Docker and uses industry-standard converters such as FFmpeg, Pandoc, and ImageMagick for a wide range of converting options and high-quality results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it's great:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Privacy-first: your files stay within your infrastructure, and you don't need to share sensitive data with third parties&lt;/li&gt;
&lt;li&gt;Bulk processing: convert large batches of files without upload or bandwidth limits&lt;/li&gt;
&lt;li&gt;Configurable: environment variables make it easy to adjust your setup&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you regularly convert media or documents and don't want to rely on online converters, ConvertX gives you full control. For example, you could batch-convert video files for your home media server or automatically transform Markdown files into PDFs using an n8n workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Zipline
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://zipline.diced.sh/" rel="noopener noreferrer"&gt;Zipline&lt;/a&gt; is a fast file-sharing and URL shortening platform. It includes a dashboard, file gallery, metrics, and support for custom domains.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it's great:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clean dashboard: manage uploads, folders, and links from one interface&lt;/li&gt;
&lt;li&gt;Authentication options: supports OAuth providers, 2FA, passkeys, and password-protected files and URLs&lt;/li&gt;
&lt;li&gt;Custom domains and vanity URLs: share files under your own branding&lt;/li&gt;
&lt;li&gt;Team-friendly: invite others and configure their upload limits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Zipline is a good choice if you frequently share files and want full control over storage, links, and branding. For example, you could convert a file with ConvertX and automatically upload it to Zipline, generating a short link for sharing with n8n.&lt;/p&gt;

&lt;h2&gt;
  
  
  BentoPDF
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.bentopdf.com/index.html" rel="noopener noreferrer"&gt;BentoPDF&lt;/a&gt; is a PDF toolkit focused on your privacy that you can self-host. It comes with a bunch of essential PDF editing and processing tools via a browser-based interface. Like with ConvertX, files never leave your device, and there are no file-size limits or other caps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it's great:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rich feature set: merge, split, compress, edit, sign, crop, and more&lt;/li&gt;
&lt;li&gt;Workflow builder: create PDF workflows using a visual node editor&lt;/li&gt;
&lt;li&gt;Well documented: you can find everything you need to know and more about BentoPDF on their GitHub page, with links to tutorials and documentation&lt;/li&gt;
&lt;li&gt;Clear licensing: AGPL-3.0 for open source and personal use, and a commercial license for proprietary applications (one-time payment)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you regularly work with documents and want a self-hosted alternative to online PDF tools, BentoPDF is a strong option. You could combine it with ConvertX and n8n to automate your document processing workflows.&lt;/p&gt;

&lt;p&gt;You can also use the tools on the BentoPDF website to give it a try. Here’s a peek at the workflow builder:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogmgt8spx6n7oq1whjad.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogmgt8spx6n7oq1whjad.png" alt="BentoPDF workflow builder" width="800" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  OpenGist
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://opengist.io/" rel="noopener noreferrer"&gt;OpenGist&lt;/a&gt; is a self-hosted pastebin service powered by Git that lets you create, version, and share code or text snippets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it's great:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Git-powered: clone, pull, and push snippets like a regular repository&lt;/li&gt;
&lt;li&gt;Revision history: it tracks every change you make to your snippets&lt;/li&gt;
&lt;li&gt;Access control: control visibility, manage signups, and configure OAuth2&lt;/li&gt;
&lt;li&gt;Developer-friendly editor: supports syntax highlighting, indentation options, and drag-and-drop file uploads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you frequently store configuration snippets, scripts, or small code examples, OpenGist keeps them versioned and under your control. For example, you could use it to host reusable configuration snippets without putting them on a public platform.&lt;/p&gt;

&lt;p&gt;If you want to try it out first, you can find a demo here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm3szhcgnzlfrbpm777dy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm3szhcgnzlfrbpm777dy.png" alt="OpenGist demo" width="800" height="529"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Beszel
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://beszel.dev/" rel="noopener noreferrer"&gt;Beszel&lt;/a&gt; is a lightweight server monitoring solution with a central hub and small agents you install on the systems you want to monitor. It provides a clean web interface and works well in small home setups.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it's great:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easy setup: simple configuration and quick deployment&lt;/li&gt;
&lt;li&gt;Resource-efficient: runs great on most devices, such as your old Raspberry Pi&lt;/li&gt;
&lt;li&gt;Container insights: shows CPU, memory, and network usage for each Docker container&lt;/li&gt;
&lt;li&gt;Multi-user and API support: includes OAuth authentication and API access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Beszel lets you easily monitor multiple services at home, without the complexity of big monitoring systems. For example, you could monitor your Docker containers, home server, and Raspberry Pi from a single dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Self-hosting projects can be both fun and practical. With just a small server and Docker, you can run note-taking apps, automation platforms, monitoring tools, file converters, and even contribute to a global measurement network.&lt;/p&gt;

&lt;p&gt;To run your own Globalping probe, visit GitHub for the repository and setup instructions:&lt;br&gt;
&lt;a href="https://github.com/jsdelivr/globalping-probe" rel="noopener noreferrer"&gt;https://github.com/jsdelivr/globalping-probe&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Geolocate any IP using latency</title>
      <dc:creator>Dmitriy A.</dc:creator>
      <pubDate>Mon, 15 Dec 2025 19:24:56 +0000</pubDate>
      <link>https://dev.to/globalping/geolocate-any-ip-using-latency-28b9</link>
      <guid>https://dev.to/globalping/geolocate-any-ip-using-latency-28b9</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;TLDR: I made a CLI tool that can resolve an IP address to a country, US state and even a city. &lt;a href="https://github.com/jimaek/geolocation-tool" rel="noopener noreferrer"&gt;https://github.com/jimaek/geolocation-tool&lt;/a&gt;&lt;br&gt;
It works well and confirms ipinfo's findings. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Recently, I read how &lt;a href="https://ipinfo.io/blog/vpn-location-mismatch-report" rel="noopener noreferrer"&gt;ipinfo finally proved&lt;/a&gt; what most technical people assumed: VPN providers don't actually maintain a crazy amount of infrastructure in hundreds of countries. They simply fake the IP geolocation by intentionally providing wrong location data to ARIN, RIPE, and Geo DB providers via geofeeds.&lt;/p&gt;

&lt;p&gt;They achieved their results using a novel approach compared to other geo IP providers. Based on their blog and HackerNews comments, they built a large probe network and used it to trace and ping every (or most) IP addresses on the internet.&lt;/p&gt;

&lt;p&gt;This latency and hop data, most likely along with advanced algorithms and data cross-reference, provides a reliable way of correctly detecting the physical geolocation of an IP address, without relying on faked data available in public sources.&lt;/p&gt;

&lt;p&gt;This is a very interesting approach that makes total sense, and I'm sure their clients appreciate it and heavily rely on it.&lt;/p&gt;

&lt;p&gt;While I can't ping every single IP address on the internet from hundreds of locations just yet, I can do it to a limited subset using Globalping. So I decided to try it out and see if I can replicate their results and build a small tool to allow anyone to do the same.&lt;/p&gt;

&lt;p&gt;Globalping is an open-source, community-powered project that allows users to self-host container-based probes. These probes then become part of our &lt;a href="https://globalping.io/network" rel="noopener noreferrer"&gt;public network&lt;/a&gt;, which allows anyone to use them to run network testing tools such as ping and traceroute.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrgozyv0gyz47r4k0ova.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrgozyv0gyz47r4k0ova.png" alt="network-map-globalping.png" width="800" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the moment, the network has more than 3000 probes, which in theory should be plenty to geolocate almost any IP address down to a country and even a US state level.&lt;/p&gt;

&lt;p&gt;To automate and simplify this process, I made a little CLI tool using the &lt;a href="https://github.com/jsdelivr/globalping-typescript" rel="noopener noreferrer"&gt;globalping-ts&lt;/a&gt; library. My original idea was simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Accept a single IP as input
&lt;/li&gt;
&lt;li&gt;Ping it a few times per continent to select the continent
&lt;/li&gt;
&lt;li&gt;Then ping the IP from many different probes on that continent
&lt;/li&gt;
&lt;li&gt;Group and sort the results; the country with the lowest latency should be the correct one
&lt;/li&gt;
&lt;li&gt;And as a bonus, repeat the same process for USA states if the winning country was the US&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Essentially, what I had to do was simply create a few measurements and pass the location I needed using Globalping’s magic field, which would automatically figure out what I was looking for and select a few pseudo-random probes that fit the location and limit.&lt;/p&gt;

&lt;p&gt;Now initially, I used &lt;code&gt;ping&lt;/code&gt; with 2 packets to run all measurements as quickly as possible, but I quickly realized it wasn’t a good idea as most networks block ICMP traffic. Next, I tried switching to TCP-based &lt;code&gt;ping&lt;/code&gt;, which required trying a few popular ports to get it to work. I quickly realized this was too complicated and unreliable and switched to &lt;code&gt;traceroute&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;It worked perfectly. Even though &lt;code&gt;traceroute&lt;/code&gt; uses ICMP by default, it did not matter to me if the target IP’s network allowed ICMP or not, I simply analyzed the latency of the last available hop. Even if you block ICMP, your upstream most likely allows it, and in most cases, it’s located in the same country.&lt;/p&gt;

&lt;p&gt;Of course, this means the resulting data is not 100% perfect. A better approach would be to analyze each IP using different methods, including TCP and UDP-based &lt;code&gt;traceroute&lt;/code&gt; on different ports, and expand to the last few hops instead of just one. Maybe even try to figure out the location of the registered ASNs and use a weights system in combination with public whois info in order to “vote” for the right location based on different inputs. Probably even mark low certainty IPs to be retested with a double amount of probes. (end of rant)&lt;/p&gt;

&lt;p&gt;But that’s something for a commercial provider to figure out, which it seems they did.&lt;/p&gt;

&lt;p&gt;For continent detection, I decided to use just 5 probes per continent; the results were extremely accurate. Although for IPs just on the "border" of continents it might be ineffective, a higher amount of probes would generate better results. For this use case, it was good enough.&lt;/p&gt;

&lt;p&gt;My home IP in central Europe was too easy to detect:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Phase 1: Detecting continent...
  North America: 137.18 ms
  Europe: 32.39 ms
  Asia: 174.54 ms
  South America: 215.08 ms
  Oceania: 244.15 ms
  Africa: 156.83 ms
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In phase 2, all we need to do is run a single measurement with the winning continent as the location and a higher limit. Initially, I started with 250 probes with great accuracy.&lt;/p&gt;

&lt;p&gt;Eventually, I decided to drop down to 50 as the default. Based on my tests, the results continued to look really good, and it would allow the tool to be run even without authentication, as the Globalping API allows 250 tests per hour per IP and 50 probes per measurement.&lt;/p&gt;

&lt;p&gt;Although I recommend registering for a free account at &lt;a href="https://dash.globalping.io/" rel="noopener noreferrer"&gt;https://dash.globalping.io/&lt;/a&gt; and authenticating with a token to get up to 500 tests per hour and run more tests.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: If you need more tests than that, you can either host a probe to generate passive credits to be used as tests, or donate via GitHub Sponsors. We will automatically detect it and credit your account.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Phase 2: Detecting country...
  Measuring from 50 probes...

  [████████████████████████████████████████] 100.0%   50/50 - Best: PL (7.29 ms)                    

Top 3 Locations:
─────────────────────────────────────────────────
  1.. Poland, EU                               7.29 ms
  2.. Germany, EU                              13.42 ms
  3.. Lithuania, EU                            17.65 ms

═══════════════════════════════════════════════════
                      SUMMARY
═══════════════════════════════════════════════════
  Location: Poland, EU
  Minimum Latency: 7.29 ms
  Confidence: Medium
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Great, now we have a basic IP-to-country resolver that only takes a few seconds to provide a response, and I didn’t even have to understand or write any complicated math. Although I’m sure someone smarter could use a formula to geolocate IPs with even fewer probes and higher accuracy.&lt;/p&gt;

&lt;p&gt;For phase 3, we want to resolve the US to a specific state or territory, just like ipinfo did, and luckily they even provided a few sample IPs and locations to benchmark against during testing.&lt;/p&gt;

&lt;p&gt;Again, this was as simple as creating a new measurement with the USA as the location. I used 50 probes as the default limit and tested the NordVPN IP advertised as Bahamas but resolved to Miami by ipinfo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Phase 3: Detecting US state...
  Measuring from 50 probes...

  [████████████████████████████████████████] 100.0%   50/50 - Best: FL (0.45 ms)                    

Top 3 Locations:
─────────────────────────────────────────────────
  1. Florida, USA                             0.45 ms
  2. South Carolina, USA                      12.23 ms
  3. Georgia, USA                             15.01 ms

═══════════════════════════════════════════════════
                      SUMMARY
═══════════════════════════════════════════════════
  Location: Florida, United States
  Minimum Latency: 0.45 ms
  Confidence: Very High
═══════════════════════════════════════════════════
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The tool agrees, Florida is the correct location. But how accurate can this system be? Can we expand it to show the city too?&lt;/p&gt;

&lt;p&gt;Let's make a new phase, which again, will simply set the resulting country or state as the location and extract the city of the probe with the lowest latency. Here, since there are too many possible cities and towns per state and country, I expect the accuracy to be low and only point to the closest major hub. But in theory, this should be more than enough for use cases like routing or performance debugging.&lt;/p&gt;

&lt;p&gt;And here we go, the same result ipinfo got&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Phase 4: Detecting city...
  Measuring from 36 probes...

  [████████████████████████████████████████] 100.0%   36/36 - Best: Miami (0.00 ms)                 

Top 3 Locations:
─────────────────────────────────────────────────
  1. Miami, Florida, USA                      0.00 ms
  2. West Palm Beach, Florida, USA            4.36 ms
  3. Tampa, Florida, USA                      5.85 ms

═══════════════════════════════════════════════════
                      SUMMARY
═══════════════════════════════════════════════════
  Location: Miami, Florida, United States
  Minimum Latency: 0.00 ms
  Confidence: Very High
═══════════════════════════════════════════════════
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The current results are good but could be better. The main problem is with how the magic field works: when setting, for example, 'Europe' as the location, it tries to spread the tests across all European probes but does not guarantee that every single country is going to be included.&lt;/p&gt;

&lt;p&gt;This results in inconsistencies where a probe in the same country as the target IP was not selected, and so the tool assumes the IP is located in a different neighbouring country.&lt;/p&gt;

&lt;p&gt;To fix this and make the results more consistent, you would need to change the selection logic and manually set every country per continent and US state. By passing the full list of countries/states to the Globalping API, you ensure that at least one probe in that location is going to be selected. Additionally, you fully control the number of probes per location, which is very important to control the accuracy.&lt;/p&gt;

&lt;p&gt;For example, North America technically contains 43 countries and territories. This means you can't just set a limit of one probe per country, it is not enough to properly understand the latency to the target IP from the disproportionately larger USA. A better limit would be around 200 probes for the USA, 20 for Canada, and 10 for Mexico.&lt;/p&gt;

&lt;p&gt;But the goal of this tool was to use a minimum amount of probes to allow unauthenticated users to test it out. The current approach works great, it is simple to implement and it is very easy to control the accuracy by simply setting a higher limit of probes.&lt;/p&gt;

&lt;p&gt;Overall, latency-based geolocation detection seems to be a great way to verify the location of any IP as long as you have enough vantage points. It will most likely fall apart in regions with minimal or no coverage.&lt;/p&gt;

&lt;p&gt;The tool itself is open source and you can run it like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;geolocate $IP&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You can also use the –limit parameter to use more probes per phase. But be careful as it applies the set value to all phases and this will very quickly eat through your limit. Check the full docs in GitHub.&lt;/p&gt;

&lt;p&gt;Pull requests with improvements are welcome!&lt;/p&gt;

&lt;p&gt;Feel free to email me if you need some free credits to play around with &lt;a href="mailto:d@globalping.io"&gt;d@globalping.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And of course consider hosting a probe, it’s as simple as running a container &lt;a href="https://github.com/jsdelivr/globalping-probe" rel="noopener noreferrer"&gt;https://github.com/jsdelivr/globalping-probe&lt;/a&gt; &lt;/p&gt;

</description>
      <category>networking</category>
      <category>opensource</category>
      <category>network</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Automate Uptime Monitoring with Zapier and Globalping</title>
      <dc:creator>Dmitriy A.</dc:creator>
      <pubDate>Wed, 19 Mar 2025 15:16:53 +0000</pubDate>
      <link>https://dev.to/globalping/automate-uptime-monitoring-with-zapier-and-globalping-11hd</link>
      <guid>https://dev.to/globalping/automate-uptime-monitoring-with-zapier-and-globalping-11hd</guid>
      <description>&lt;p&gt;If you're tired of manually checking if your website or API is up and are looking for a simple, budget-friendly way to automate uptime monitoring, you're in the right place.&lt;/p&gt;

&lt;p&gt;In this guide, we will create a simple uptime monitoring setup using Zapier and Globalping. By the end, you will have a Zap that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;automatically runs an HTTP test on your website or web service&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;sends a notification to Slack when a test fails&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;uses AI to summarize the failed test results and emails them to you&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  About the tools
&lt;/h2&gt;

&lt;p&gt;Let's briefly introduce the tools we'll be using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://zapier.com/apps/globalping/integrations" rel="noopener noreferrer"&gt;&lt;strong&gt;Zapier&lt;/strong&gt;&lt;/a&gt; is a workflow automation tool that lets you connect triggers, functionality, and apps to build "Zaps" to take care of all kinds of processes, giving you back valuable time for more important tasks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://globalping.io" rel="noopener noreferrer"&gt;&lt;strong&gt;Globalping&lt;/strong&gt;&lt;/a&gt; is an open-source network testing platform that allows you to run measurements like ping, mtr, and dig from anywhere in the world. The platform uses thousands of probes hosted by the community and partners to run these tests. Globalping gives you access to testing locations you wouldn't normally have, and it's free.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;To follow this guide, you'll need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;a Zapier Pro subscription and familiarity with the tool&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;a &lt;a href="https://dash.globalping.io/" rel="noopener noreferrer"&gt;Globalping&lt;/a&gt; account&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;the ability to run a cron job to trigger your Zap&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1 – Automate uptime testing
&lt;/h2&gt;

&lt;p&gt;Let's start building the foundation of our Zap by automating our uptime checks. To do this, we'll create a new Zap, add a schedule, and use Globalping to run an HTTP test on your target URL.&lt;/p&gt;

&lt;h4&gt;
  
  
  How can Globalping help with uptime checks?
&lt;/h4&gt;

&lt;p&gt;You can perform tests like ping, mtr, traceroute, dns (dig), and http to assess, troubleshoot, and benchmark your network. For uptime monitoring, we'll create an HTTP GET request. The test's result tells us whether the target website is up and provides other useful data, such as performance metrics and TLS certificate information, which you can use later in your Zap.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setting up the Zap
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;In your Zapier dashboard, create a new Zap&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create the trigger&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Search for and select the "Webhook by Zapier" app&lt;/li&gt;
&lt;li&gt;Set "Trigger event" as "Catch Hook"
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhxgssiz13kgpjx1ur3om.jpg" alt="Image description" width="400" height="282"&gt;
&lt;/li&gt;
&lt;li&gt;Leave the "Configure" tab as is&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Test the trigger&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In the "Test" tab, you can find the Zapier webhook URL – calling it starts the Zap&lt;/li&gt;
&lt;li&gt;Create a cron job on your server, third-party service, or wherever you want to call the webhook URL at your desired frequency. In this example, I set the frequency to 3 minutes:\
&lt;code&gt;*/3 * * * * curl https://hooks.zapier.com/catch/123&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you prefer, you can use the "Schedule app by Zapier", which can run the uptime check once per hour. This is handy if you don't want to create a cron job or if hourly testing is enough for your use case.&lt;/p&gt;

&lt;h3&gt;
  
  
  Adding Globalping to run HTTP tests to our Zap
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Create the first action&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Search for and select the "Globalping" app&lt;/li&gt;
&lt;li&gt;Set "Action Event" as "HTTP Request"&lt;/li&gt;
&lt;li&gt;Connect your Globalping Dashboard account!
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foobta0rdzn8lkl6qtktn.jpg" alt="Image description" width="374" height="379"&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Configure the Globalping HTTP test&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Target URL: Enter the URL you want to monitor. I'll use the Globalping homepage&lt;a href="https://globalping.io" rel="noopener noreferrer"&gt; https://globalping.io&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Location: Choose the location from which you want to run the tests. I'll define "World" here, which will randomly pick a location for me. You can learn more about providing locations on &lt;a href="https://github.com/jsdelivr/globalping/?tab=readme-ov-file#basic-location-targeting-" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Limit: Set the number of tests to run. Let's set it to one (1)&lt;/li&gt;
&lt;li&gt;Request type: Select "GET"&lt;/li&gt;
&lt;li&gt;HTTP Headers: Add as needed!
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsyen5ai3k7v1guz7d0bg.jpg" alt="Image description" width="400" height="600"&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Test the Globalping HTTP test&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run a test to make sure everything is working as expected and to see the data Globalping returns.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6elhgw6vd1msl8db3nmq.jpg" alt="Image description" width="400" height="701"&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;h4&gt;
  
  
  How much will this cost you?
&lt;/h4&gt;

&lt;p&gt;Globalping comes with generous limits with up to 250 free tests and 50 probes per measurement for unregistered users. When you sign up to the &lt;a href="https://dash.globalping.io/" rel="noopener noreferrer"&gt;Globalping Dashboard&lt;/a&gt;, these limits increase to 500 tests per hour and 500 probes per measurement at no cost.&lt;/p&gt;

&lt;p&gt;For most users, these free limits are sufficient. If you need more, Globalping has a credit system where you can earn credits by hosting probes or sponsoring the project. Check the &lt;a href="https://globalping.io/credits" rel="noopener noreferrer"&gt;Globalping website&lt;/a&gt; for more details.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2 - Send Slack notifications for failed tests
&lt;/h2&gt;

&lt;p&gt;Now that our automated uptime checks are running let's make sure we're notified via Slack when our website is down. &lt;/p&gt;

&lt;p&gt;In this example, we'll check if the test result contains a specific string using a filter. If the website is up, the result will include this string. If the website is down, it will not contain the string.&lt;/p&gt;

&lt;h3&gt;
  
  
  Adding a filter to our Zap
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Add a new action&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Search for and select the "Filter by Zapier" app&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Configure the filter&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Choose Field: Pick the field from the Globalping result that contains the raw result data (for example, "Results Probe Result Raw Body")&lt;/li&gt;
&lt;li&gt;Choose Condition: "Contains"&lt;/li&gt;
&lt;li&gt;Text or data: Enter the string to look for. I'll use "Monitor, debug and benchmark" from the Globalping website.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj178nkdq810lvafkl440.jpg" alt="Image description" width="400" height="366"&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you're running more than one test, you need to click "Add Or rule group" for each one. For example, if you set the limit to three, you'll need three filter conditions. Repeat steps 1 and 2 for all rule groups, making sure to pick the correct result data for the "Text or data" field.&lt;/p&gt;

&lt;p&gt;When you run the test, Zapier will tell you that the Zap would not have continued for this test data. This outcome is what we want, as we only want to proceed when the specified string cannot be found in the result (i.e., your website is down).&lt;/p&gt;

&lt;p&gt;However, let's &lt;strong&gt;change the filter condition to "Does not contain"&lt;/strong&gt; so that the filter allows the Zap to continue for testing purposes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ncxhmec8yrjrotdf0f0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ncxhmec8yrjrotdf0f0.jpg" alt="Image description" width="400" height="264"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Remember to change it back to the original setting before you publish your Zap!&lt;/p&gt;

&lt;h3&gt;
  
  
  Adding Slack to send notifications
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Add a new action&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Search for and select the "Slack" app&lt;/li&gt;
&lt;li&gt;Set "Action Event" as "Send Channel Message"&lt;/li&gt;
&lt;li&gt;Connect your Slack account&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Configure the Slack app&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Channel: Select the Slack channel where you'd like to receive the notifications&lt;/li&gt;
&lt;li&gt;Message text: Enter a message text. You can include data from the Globalping test results if you want.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6eg9zj02xbm62tfjpb9u.jpg" alt="Image description" width="400" height="314"&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Test&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run a test to send a message to your Slack channel&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F431fkulg08hfudsajx5b.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F431fkulg08hfudsajx5b.jpg" alt="Image description" width="351" height="69"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: You can add the link to the Zap in the Slack message. This can be useful when your website goes down, as you can quickly access the Zap to disable it (pause the uptime checks) until the issue is resolved.&lt;/p&gt;

&lt;p&gt;Now, you'll receive notifications when your website or service is down, allowing you to react quickly and reduce disruptions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3 – Use AI to summarize test results
&lt;/h2&gt;

&lt;p&gt;Finally, we'll use Zapier's new AI app to analyze the failure data and provide insights for troubleshooting, which will be emailed to you.&lt;/p&gt;

&lt;h4&gt;
  
  
  Why use AI?
&lt;/h4&gt;

&lt;p&gt;The amount of data Globalping returns per HTTP test is quite a lot, especially when you run multiple tests. Looking through all this information to spot the bits you're interested in can be quite challenging. Also, when your service is down, you may not have the time to review the test results yourself. AI can help by analyzing the data, extracting relevant details, and summarizing the findings in a human-readable format, saving you time and effort.&lt;/p&gt;

&lt;h3&gt;
  
  
  Adding AI to summarize results
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Add a new action &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Search for and select the "AI by Zapier" app&lt;/li&gt;
&lt;li&gt;Set "Action Event" as "Analyze and return data"&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Configure and test:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Output field: Define the field under which to access the AI summary later. I'll name it "summary".&lt;/li&gt;
&lt;li&gt;Prompt: Write a prompt that instructs the AI on what to do. Also, make sure to include the needed Globalping data to analyze! Here's an example:
&lt;/li&gt;
&lt;/ol&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Analyze the following Globalping test data and provide a summary 
highlighting the key findings, (potential) issues, trends, and other 
noteworthy information. Also, add some information about the probe 
Globalping used to run the test to add some geographical context. 
Finally, format the summary as HTML so it is easy to read and digest. 

Test Results: {{Results Probe 1 Result Raw Output}}
     
Probe information: 
City: {{Results Probe 1 City}}   
Network: {{Results Probe 1 Network}}    
ASN: {{Results Probe 1 Asn}}  
Resolvers: {{Results Probe 1 Resolvers}} 
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzlg6vbni6sn88cmi1zf4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzlg6vbni6sn88cmi1zf4.jpg" alt="Image description" width="626" height="594"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run a test to see if you're happy with the AI's output, and fine-tune the prompt until you get the desired results (I’ll show you my result in a moment).&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Sending AI summaries via email
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Add a new action&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Search for and select the "Email by Zapier" app&lt;/li&gt;
&lt;li&gt;Set "Action Event" as "Send Outbound Email"&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Configure&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Set up the email basics like "from" and "to"&lt;/li&gt;
&lt;li&gt;Body: Add the summary field from the AI step above&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7ldcselx4xqywgmmufbi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7ldcselx4xqywgmmufbi.jpg" alt="Image description" width="400" height="322"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Test&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Testing this action will send an email to the specified address containing the AI-generated summary. Here's the content of the email I received:&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;Subject: 🚨Website is down!🚨&lt;/p&gt;

&lt;h2&gt;
  
  
  Globalping Test Summary
&lt;/h2&gt;

&lt;p&gt;Test Result Overview&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Status&lt;/strong&gt;: HTTP/1.1 200 OK   &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Date Tested&lt;/strong&gt;: March 03, 2025   &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Response Time&lt;/strong&gt;: 21 ms  &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Server Used&lt;/strong&gt;: Cloudflare&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cache Status&lt;/strong&gt;: Dynamic   
### Key Findings&lt;/li&gt;
&lt;li&gt;The test successfully returned a status code of 200, indicating the server is operational and reachable.    &lt;/li&gt;
&lt;li&gt;The response time of 21 ms is relatively fast, suggesting good performance for users in the tested region.    &lt;/li&gt;
&lt;li&gt;Content-Encoding used is Brotli (br), which is efficient for reducing data transfer size.   
### Potential Issues* 
No immediate issues were identified based on the response code and time.    &lt;/li&gt;
&lt;li&gt;Consider the cache control settings that allow for revalidation and potential staleness; this may impact user experience if not managed properly.  
### Probe Information* 
&lt;strong&gt;Probe Location&lt;/strong&gt;: Shanghai, China   &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network Provider&lt;/strong&gt;: China Mobile Communications Group Co. Ltd.    &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ASN&lt;/strong&gt;: 9808   &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DNS Resolvers&lt;/strong&gt;: 223.5.5.5, 223.6.6.6  
### Conclusion
The test results indicate a healthy server response and performance from the Shanghai probe, with low latency and a successful HTTP response. Continuous monitoring and proper cache management are recommended to maintain optimal performance. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;And that's it! You now have a simple uptime monitoring setup for your website, with email summaries providing insights into issues and performance in your inbox. &lt;/p&gt;

&lt;p&gt;Let's recap what we've built:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;We automated uptime tests using Globalping and Zapier's Webhook app&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We set up Slack notifications for failed tests&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We used AI to analyze Globalping's result data and write summaries, which we sent via email&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Compared to paid uptime monitoring services like uptime.com or updown.io, this DIY approach can save you significant money, provided you already have a Zapier Pro subscription.&lt;/p&gt;

&lt;p&gt;With the current setup, you're still far from Globalping's hourly limit (500 for registered users).&lt;/p&gt;

&lt;p&gt;Let's say you run a measurement from one location every 3 minutes; this results in 20 tests per hour. If you run the same measurement from three locations, you'll have a total of 60 tests per hour. So, there's plenty of room for you to run additional tests or create a new Zap for different measurements, like performance checks. &lt;/p&gt;

&lt;p&gt;Ready to take your network monitoring to the next level? Try the&lt;a href="https://zapier.com/apps/globalping/integrations" rel="noopener noreferrer"&gt; Globalping Zapier integration&lt;/a&gt; and see how it can help automate many of your network-related tasks!&lt;/p&gt;

</description>
      <category>nocode</category>
      <category>network</category>
      <category>webdev</category>
      <category>automation</category>
    </item>
    <item>
      <title>How to get TLS from any location using Globalping</title>
      <dc:creator>Dmitriy A.</dc:creator>
      <pubDate>Wed, 06 Mar 2024 15:55:47 +0000</pubDate>
      <link>https://dev.to/globalping/how-to-get-tls-from-any-location-using-globalping-1ofn</link>
      <guid>https://dev.to/globalping/how-to-get-tls-from-any-location-using-globalping-1ofn</guid>
      <description>&lt;p&gt;Globalping is a platform that allows you to perform network measurement tests like ping, traceroute, and HTTP on probes worldwide. The HTTP test type is especially useful when you want to test API endpoints or check a website's response headers, for example. However, some Globalping users are unaware that they can also obtain information about the test target's TLS certificate, which requires a bit of digging into the response.&lt;/p&gt;

&lt;p&gt;TLS (Transport Layer Security) is a protocol that ensures secure communication over the internet by encrypting data exchanged between two parties. It's an improvement over SSL (Secure Sockets Layer), and while you may still hear people talk about SSL, what they really mean is TLS.&lt;/p&gt;

&lt;p&gt;In this article, we'll show you how to access TLS data using Globalping's web UI and CLI tool, so regardless of your technical ability, you can follow along. We'll also explore some use cases where looking into TLS information with Globalping comes in handy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Accessing TLS information with Globalping
&lt;/h2&gt;

&lt;p&gt;We'll now look into two methods of creating HTTP tests to get TLS certificate data. If you are unfamiliar with CLI tools or prefer working with a graphical interface, using the web UI is the right choice for you. If you like working in your terminal and even want to parse the data directly in there, check out the CLI tool explanation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Using the Globalping Web UI to get TLS data
&lt;/h3&gt;

&lt;p&gt;Follow these steps to run measurements on our website:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://globalping.io/" rel="noopener noreferrer"&gt;Visit our website&lt;/a&gt; and go to the top of the page to find the UI to run measurements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fill out the form with the following information:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Test Type&lt;/strong&gt;: Choose "HTTP" as the test we want to run.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Target&lt;/strong&gt;: Type in www.jsdelivr.com or your website's URL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Location&lt;/strong&gt;: Leave it as it is or, if you want, define a different location, such as a city, country, or region. You can learn more about defining locations &lt;a href="https://github.com/jsdelivr/globalping#best-practices-and-tips" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Limit&lt;/strong&gt;: Set this to 1; it defines the number of probes we want to run our test.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Method (optional)&lt;/strong&gt;: Click on the gear icon to access the advanced settings. There, pick the "HEAD" method since we are not interested in getting the contents of our defined target.&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fao22yt6y0vltir2pdodf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fao22yt6y0vltir2pdodf.png" alt="globalping http test" width="800" height="472"&gt;&lt;/a&gt;   &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Leave everything else as it is and click the "Run Test" button.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After you run the test, you can see the test result data below the map. The data should look similar to what you can see in the screenshot.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fezvapmcvnoefdmzw8unj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fezvapmcvnoefdmzw8unj.png" alt="globalping http test results" width="800" height="454"&gt;&lt;/a&gt;   &lt;/p&gt;

&lt;p&gt;While you can see the timing data, including the time it took from establishing the TCP connection to establishing the TLS session (in the screenshot, it's 22ms), there's no information about the TLS certificate. That's because what you see here is just a section of the complete measurement response.&lt;/p&gt;

&lt;p&gt;So, to view TLS data, we need to retrieve the complete measurement response:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Under the result data, there's a share link that you can use to share the result with others. The alphanumerical string at the end of the link (the value of the URL parameter &lt;code&gt;measurement&lt;/code&gt;) is the identifier for your measurement. Copy it to your clipboard.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Paste the identifier to the end of this URL: &lt;a href="https://api.globalping.io/v1/measurements/" rel="noopener noreferrer"&gt;https://api.globalping.io/v1/measurements/&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;For example: &lt;a href="https://api.globalping.io/v1/measurements/zCEK4Pr37zzyajLH" rel="noopener noreferrer"&gt;https://api.globalping.io/v1/measurements/zCEK4Pr37zzyajLH&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Copy and paste the URL into your browser's address bar. This URL directly calls the Globalping API to fetch the measurement result for the provided identifier. &lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;You now see a JSON object that contains the complete result, which we'll look into in the next section.&lt;/p&gt;&lt;/li&gt;

&lt;/ol&gt;

&lt;h3&gt;
  
  
  Using the Globalping CLI tool to get TLS data
&lt;/h3&gt;

&lt;p&gt;To use the Globalping CLI tool to get TLS data, follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Make sure you have the &lt;a href="https://github.com/jsdelivr/globalping?tab=readme-ov-file#globalping-cli" rel="noopener noreferrer"&gt;CLI tool installed and ready&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To replicate the example from the Web UI section above, type the following command into your terminal and execute it:&lt;br&gt;
&lt;code&gt;globalping http https://www.jsdelivr.com from world --limit 1&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;As a result, you will get the standard information for an HTTP HEAD request, but you won't see any TLS information.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F91alwcf3pmyezv6gfqpo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F91alwcf3pmyezv6gfqpo.png" alt="globalping cli http test" width="800" height="489"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;What you see is only a section of the complete response – to get all the data, you need to append the option &lt;code&gt;--json&lt;/code&gt; to your command:&lt;br&gt;
 &lt;code&gt;globalping http https://www.jsdelivr.com from world --limit 1 --json&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You should now see the entire measurement result as JSON data, which you can use for further processing. We will discuss how to do this in the next section.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;You can also get the measurement identifier by running the command with the &lt;code&gt;--share&lt;/code&gt; option. This will give you a link to share your result, and you can use the appended measurement identifier to request your measurement result directly from the API. We've explained how to do this in the section on the Web UI above.&lt;/p&gt;

&lt;h2&gt;
  
  
  Extracting TLS data from the response
&lt;/h2&gt;

&lt;p&gt;First, let's tour the TLS data you can retrieve with Globalping. For this, we'll use the JSON from our measurement result.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Help:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you're not sure how to get the JSON data in a readable format, you can use an online tool like &lt;a href="https://jsonformatter.curiousconcept.com/" rel="noopener noreferrer"&gt;JSON formatter&lt;/a&gt;. Just copy and paste your JSON code into the text field and press "Process." &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmvg5rqjh3ui0ws9nyrbr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmvg5rqjh3ui0ws9nyrbr.png" alt="json clean" width="800" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can then see the prettified JSON – scroll to the end of the JSON and find an object named &lt;code&gt;tls&lt;/code&gt; containing the TLS certificate information. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fis52z85z9w96xlrjb4qw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fis52z85z9w96xlrjb4qw.png" alt="json result" width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alright, let's take a look at the data!&lt;/p&gt;

&lt;p&gt;You can find the &lt;code&gt;tls&lt;/code&gt; information inside the &lt;code&gt;result&lt;/code&gt; object of a test:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
 json
"tls":{
       "authorized":true,
       "createdAt":"2024-01-19T19:08:46.000Z",
       "expiresAt":"2024-04-18T19:08:45.000Z",
       "issuer":{
          "C":"US",
          "O":"Let's Encrypt",
          "CN":"E1"
       },
       "subject":{
          "CN":"www.jsdelivr.com",
          "alt":"DNS:www.jsdelivr.com"
       }
    }


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;authorized&lt;/code&gt;: Indicates whether a trusted authority signed the certificate.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;createdAt&lt;/code&gt;: The creation date and time of the certificate.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;expiresAt&lt;/code&gt;: The expiration date and time of the certificate.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;issuer&lt;/code&gt;: Information about the certificate issuer, such as Let's Encrypt. It includes the country (C), organization (O), and common name (CN).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;subject&lt;/code&gt;: Information about the certificate's subject, such as your website. It includes the common name (CN) and any alternate names (alt).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can also find a &lt;code&gt;timings&lt;/code&gt; object in the same &lt;code&gt;result&lt;/code&gt; object. This contains details about the HTTP request times in milliseconds, including the time from establishing the TCP connection to establishing the TLS session (TLS handshake).&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="nl"&gt;"timings"&lt;/span&gt;&lt;span class="p"&gt;:{&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;   &lt;/span&gt;&lt;span class="nl"&gt;"total"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;52&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;   &lt;/span&gt;&lt;span class="nl"&gt;"download"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;   &lt;/span&gt;&lt;span class="nl"&gt;"firstByte"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;   &lt;/span&gt;&lt;span class="nl"&gt;"dns"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;   &lt;/span&gt;&lt;span class="nl"&gt;"tls"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;   &lt;/span&gt;&lt;span class="nl"&gt;"tcp"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Extracting TLS data in your terminal&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;Here's a basic command that runs the Globalping HTTP command and extracts the &lt;code&gt;tls&lt;/code&gt; information from the JSON result:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;globalping http https\://jsdelivr.com from world --limit 1 --json --ci | jq -r '.results\[].result.tls | to\_entries\[] | "\\(.key): \\(.value)"' | sed 's/"//g' | awk -F ': ' '{ if (NF==1) next; else print $1 ": " $2 }'&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;We're using the &lt;a href="https://www.gnu.org/software/sed/manual/sed.html" rel="noopener noreferrer"&gt;sed&lt;/a&gt; and &lt;a href="https://www.gnu.org/software/gawk/manual/gawk.html" rel="noopener noreferrer"&gt;awk&lt;/a&gt; commands to bring the data into a nice format. Additionally, we're using the &lt;a href="https://jqlang.github.io/jq/" rel="noopener noreferrer"&gt;jq command-line JSON processor&lt;/a&gt; to work with the JSON data, so make sure you have it installed before running the command. &lt;/p&gt;

&lt;p&gt;The output should look something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfidtz3q0a31daws3w26.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxfidtz3q0a31daws3w26.png" alt="globalping cli tls data" width="800" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to copy the command and adapt it to your needs!&lt;/p&gt;

&lt;p&gt;If you want more flexibility, you can also use the &lt;a href="https://github.com/jsdelivr/globalping?tab=readme-ov-file" rel="noopener noreferrer"&gt;Globalping API&lt;/a&gt; to create measurements, retrieve the JSON result, and process it in your code however you want. &lt;/p&gt;

&lt;h2&gt;
  
  
  Handy use cases for using Globalping to get TLS data
&lt;/h2&gt;

&lt;p&gt;Now that we've explored how to obtain, view, and extract TLS data, let's explore some practical use cases of leveraging the Globalping probe network to request TLS data from various locations worldwide. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Monitoring globally distributed systems&lt;/strong&gt;: By monitoring TLS data, you can make sure that TLS certificates are correctly installed, secure, and up-to-date, which helps maintain the security of your systems. And if you do this from different locations, you can ensure that monitoring continues without interruption, even if problems occur at one location.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security research and analysis&lt;/strong&gt;: Analyzing TLS certificates can provide useful insights into potential security vulnerabilities or threats. To identify and address security risks, you may want to examine TLS certificate data such as issuer information, the subject's alternative names, and expiration dates. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Compliance requirements&lt;/strong&gt;: Many companies must perform security checks from different locations to meet regulatory standards or internal policies. Globalping can help your company meet these compliance requirements and maintain a secure online environment.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Performance optimization&lt;/strong&gt;: To improve the performance of your websites and applications, it can help to evaluate the time it takes to complete the TLS handshake process from different locations. By checking the &lt;code&gt;timings\&lt;/code&gt; data provided in Globalping JSON results, you can detect any delay issues that may occur during the TLS handshake. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion&lt;a id="conclusion"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In this article, we've explained how to get TLS data using Globalping's HTTP test type and how to extract this information from the JSON output. Additionally, we've explored some use cases where requesting TLS data with Globalping can help with system monitoring, security research, compliance adherence, and performance optimization.&lt;/p&gt;

&lt;p&gt;If you want to learn more about using Globalping effectively, visit &lt;a href="https://dev.to/globalping"&gt;our blog&lt;/a&gt; and check out our &lt;a href="https://github.com/jsdelivr/globalping#best-practices-and-tips" rel="noopener noreferrer"&gt;best practices on GitHub&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>linux</category>
      <category>networking</category>
    </item>
    <item>
      <title>RIPE Atlas and Globalping: Choosing the Right Network Measurement Platform</title>
      <dc:creator>Dmitriy A.</dc:creator>
      <pubDate>Thu, 22 Feb 2024 16:02:38 +0000</pubDate>
      <link>https://dev.to/globalping/ripe-atlas-and-globalping-choosing-the-right-network-measurement-platform-487f</link>
      <guid>https://dev.to/globalping/ripe-atlas-and-globalping-choosing-the-right-network-measurement-platform-487f</guid>
      <description>&lt;p&gt;In today's world, where everything is interconnected, it's important to understand how our digital infrastructure, including the internet and our own smaller networks, performs. Whether you're a seasoned network expert or just starting out, having the right tools at your disposal can make a big difference.&lt;/p&gt;

&lt;p&gt;In this article, we’ll take a closer look at two helpful tools: &lt;strong&gt;RIPE Atlas&lt;/strong&gt; and &lt;strong&gt;Globalping&lt;/strong&gt;. Both are network measurement platforms that allow you to evaluate the performance and reliability of networks using a globally distributed probe network. &lt;/p&gt;

&lt;p&gt;We’ll also compare the two platforms and see in which use cases the newer Globalping platform can be a great RIPE Atlas alternative. By the end of the article, you may even want to use both platforms together to get the best insights!&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing the Platforms
&lt;/h2&gt;

&lt;p&gt;To start, let's give you a brief introduction to the two tools:&lt;/p&gt;

&lt;h3&gt;
  
  
  Introducing &lt;a href="https://github.com/jsdelivr/globalping#readme" rel="noopener noreferrer"&gt;Globalping&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8plwjxf5rrwbxclqms2l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8plwjxf5rrwbxclqms2l.png" alt="globalping service" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Founded by the jsDelivr team in 2021, Globalping is a platform that relies on an extensive probe network hosted in users' homes and offices worldwide. The platform aims to provide an excellent user experience, making it straightforward for users from all backgrounds to create their measurements effortlessly.&lt;/p&gt;

&lt;p&gt;The platform is entirely open source, and all tools, including the API, are free to use. You can also support the project and its users by hosting one or more probes.&lt;/p&gt;

&lt;p&gt;Globalping offers various official integrations and tools to ensure a seamless experience. For example, you can use the CLI tool to bring the platform's capabilities to your terminal. Or you can add the Slack app to your workspace, which enables your team to collaborate and troubleshoot effectively, making Globalping an interesting RIPE Atlas alternative.&lt;/p&gt;

&lt;h3&gt;
  
  
  Introducing RIPE Atlas
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp3pqnnluz0ixl07wluw6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp3pqnnluz0ixl07wluw6.png" alt="ripe atlas" width="800" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;RIPE Atlas was founded by the RIPE Network Coordination Centre (NCC) in 2010, and it has since grown its network to consist of over 12000 probes to measure internet connectivity worldwide. All data collected by the platform is publicly available, which makes it popular with researchers and organizations interested in monitoring and learning about the state of the internet in real time.&lt;/p&gt;

&lt;p&gt;By spending credits, you can create your own measurements and view the results in their dashboard, rendered over maps, or as raw data. You can earn credits in various ways, such as hosting a probe or purchasing credits directly, although that’s limited to bigger enterprises.&lt;/p&gt;

&lt;p&gt;In addition, there are several tools available, including data parsers, CLI tools, and apps, which have been created by both the RIPE NCC and the community.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparing the Two Platforms
&lt;/h2&gt;

&lt;p&gt;Below, you'll find a list of criteria along with some comments on how each platform handles and performs in those areas. Our goal is to emphasize the strengths of both platforms, as each one has its own features and benefits, catering to a wide range of users and use cases.&lt;/p&gt;

&lt;h3&gt;
  
  
  Probe Network
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Globalping: Has a quickly and continuously growing probe network. Anyone can host a probe – all you need to do is run the probe's Docker container on an internet-connected machine.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RIPE Atlas: Offers an extensive probe network across the globe. If you want to host a probe, you need to apply for one first. If the network would benefit from your probe's location, you'll get a hardware probe sent to your address where you need to set it up.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Measurement Types
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Globalping: All tests report their results back in real time, creating a feeling of local testing and allowing different kinds of new use cases. Supported test types are:&lt;br&gt;
Ping, Traceroute, DNS, HTTP (including SSL), and MTR. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RIPE Atlas: The platform is focused more on scheduled measurements resulting in delays that may happen due to RIPE's complexity. Supported test types are:&lt;br&gt;
Ping, Traceroute, DNS, HTTP, SSL, and NTP.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Measurements and Costs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Globalping: Enables you to create measurements for free, regardless of the tool you use, whether it is the API, CLI tool, or Slack app. However, some rate limits are in place to safeguard the API, which are usually sufficient for most users. But, if you need more, you can increase the limit by becoming a GitHub sponsor or earn free credits by hosting multiple probes at home, in the office, or on hosting providers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RIPE Atlas: Allows you to create measurements, but it costs credits. You can obtain credits by hosting a probe, requesting credits as a researcher, receiving transfers from other users, or buying credits by becoming a corporate sponsor. However, becoming a sponsor may be too pricey for individuals.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Internet Health Monitoring
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Globalping: Doesn't offer public internet health monitoring capabilities at the moment. Instead, it focuses on providing measurement creation capabilities to users.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RIPE Atlas: Offers public access to all measurements. You can analyze internet health data by viewing maps and graphs, which provide detailed insights.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Custom Monitoring Capabilities
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Globalping: You can leverage the API to develop your own monitoring solution, which many companies already do. The Globalping team is also working on building a custom and scheduled monitoring platform. This platform will use the probe network to provide real-time and historical data on the performance and quality of any internet endpoint.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RIPE Atlas: You can specify intervals and timeframes for running measurements and then analyze the results using maps and graphs that the platform generates and displays on its website. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Use Cases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Globalping: Designed to be used by users with various backgrounds and networking skills. It allows you to create network measurements effortlessly and for free, making it a great RIPE Atlas alternative when you want to learn more about networking or investigate your own networks in-depth. Overall, Globalping is suitable for both newcomers and network experts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RIPE Atlas: Tailored for researchers, academics, and anyone who needs access to aggregated internet connectivity data. The platform also allows you to investigate the impact of global or local incidents on internet health, such as natural catastrophes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Commercial Use
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Globalping: Doesn't differentiate between personal and commercial use, and you don't need an account or authentication for basic tests. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RIPE Atlas: If you plan to use the RIPE Atlas platform to provide paid services or products, there are some rules you need to follow. These rules include, for example, displaying the platform's logo and description. The platform's credit-based usage system also applies here.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Data Usage
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Globalping: Measurement results are stored for a limited time; only users with the measurement link can view them. Also, probe owners can see the tests their probe ran.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RIPE Atlas: All measurements conducted on the platform are publicly accessible.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Tools and Integrations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Globalping: Provides user-friendly tools and integrations for custom development, Slack, and GitHub. The Globalping team officially maintains all tools, ensuring ongoing development, support, and a consistent and modern UX.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RIPE Atlas: You can find many open-source tools, including CLI tools and visualization libraries, on the website and on GitHub. Some of these tools were created during hackathons and may not be regularly maintained, so keep this in mind when searching for tools.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Getting Involved
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Globalping: Invites you to host one or more probes, become a GitHub sponsor, or contribute to the platform on GitHub. The team welcomes any feedback and feature requests, which are essential for the platform's continuous improvement and growth.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RIPE Atlas: Encourages you to host a probe or an anchor, sponsor the project by buying credits, become an ambassador, or contribute to the open-source tools. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Is Globalping a RIPE Atlas alternative?
&lt;/h2&gt;

&lt;p&gt;Our comparison between Globalping and RIPE Atlas showed that both platforms have unique benefits: &lt;/p&gt;

&lt;p&gt;With its extensive public internet health data, RIPE Atlas is great for researchers and network experts who require detailed analysis. On the other hand, Globalping's modern approach, user-friendly UX, and free measurements make it compelling for a wide range of users. This makes it a great alternative to RIPE Atlas for individuals as well as companies ranging from startups to enterprises.&lt;/p&gt;

&lt;p&gt;However, each platform has its features and strengths, so we think it's worth using them together. By leveraging Globalping to run real-time measurements in a comfortable way and RIPE Atlas to obtain aggregated data, you can get a more in-depth view of the state of the internet and your own networks.&lt;/p&gt;

&lt;p&gt;If you're new to Globalping or looking for a straightforward way to get started with networking, we invite you to &lt;a href="https://globalping.io/" rel="noopener noreferrer"&gt;visit our website and create your first measurements&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>networking</category>
      <category>linux</category>
      <category>webperf</category>
      <category>opensource</category>
    </item>
    <item>
      <title>New Globalping feature: Eyeball and data center network tags</title>
      <dc:creator>Dmitriy A.</dc:creator>
      <pubDate>Thu, 09 Nov 2023 13:48:54 +0000</pubDate>
      <link>https://dev.to/globalping/new-globalping-feature-eyeball-and-data-center-network-tags-3b4d</link>
      <guid>https://dev.to/globalping/new-globalping-feature-eyeball-and-data-center-network-tags-3b4d</guid>
      <description>&lt;p&gt;Today, we're happy to announce the release of a new Globalping feature that has been highly requested by our community: the ability to &lt;a href="https://globalping.io/" rel="noopener noreferrer"&gt;run network measurement&lt;/a&gt; commands from probes within eyeball or data center networks! You can combine these new tags with any existing Globalping feature and use them in any of our integrations, such as the CLI tool or Slack app.&lt;/p&gt;

&lt;p&gt;In this blog post, we'll introduce you to these new tags and explore different ways you can use them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Background: Understanding eyeball and data center network tags
&lt;/h2&gt;

&lt;p&gt;We've assigned new system tags to each &lt;a href="https://github.com/jsdelivr/globalping#join-the-network---run-a-probe" rel="noopener noreferrer"&gt;probe in the Globalping network&lt;/a&gt; that identify it as part of an eyeball network (your regular ISP) or data center network so you can run your test commands from one or the other. Let's talk more about these networks and the assigned tags:&lt;/p&gt;

&lt;h3&gt;
  
  
  Eyeball networks
&lt;/h3&gt;

&lt;p&gt;Eyeball network probes are typically hosted in real-world environments like peoples’ homes and offices. Many of our users asked for a way to assess network performance from the perspective of everyday internet users and their regular IPSs, and that's exactly what the eyeball tag enables you to do.&lt;/p&gt;

&lt;p&gt;For example, imagine you're a streaming platform looking to enhance streaming quality for your users or a Content Delivery Network (CDN) provider aiming to reduce latency and optimize content delivery, especially from ISPs. The eyeball tag is what helps in both cases.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data center networks
&lt;/h3&gt;

&lt;p&gt;In addition to the eyeball tag, we've introduced the data center tag for probes within data centers. These probes are especially useful if you want to learn more about a cloud provider's performance, routing, and data center-to-data center communications.&lt;/p&gt;

&lt;p&gt;For example, using the data center tag can help you determine which hosting company is the best origin for your CDN or identify the optimal AWS region. It can also be useful when you want to optimize the overall performance of your network without a specific bias towards regular ISPs.&lt;/p&gt;

&lt;h2&gt;
  
  
  In action: Using our new eyeball and data center tags
&lt;/h2&gt;

&lt;p&gt;Naturally, you can use the new tags across any of our integrations, whether through the &lt;a href="https://www.jsdelivr.com/globalping" rel="noopener noreferrer"&gt;web-based tool&lt;/a&gt;, &lt;a href="https://github.com/jsdelivr/globalping-cli" rel="noopener noreferrer"&gt;CLI tool&lt;/a&gt;, &lt;a href="https://github.com/jsdelivr/globalping#slack-app" rel="noopener noreferrer"&gt;Slack app&lt;/a&gt;, or &lt;a href="https://github.com/jsdelivr/globalping#github-bot" rel="noopener noreferrer"&gt;GitHub bot&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Note that we'll be using the CLI tool in our upcoming examples – but feel free to follow along with your favorite integration!&lt;/p&gt;

&lt;p&gt;The two new tags at your disposal for writing measurement requests are:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;eyeball

datacenter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;These tags are combinable with all of Globalping's existing features, and they can be paired with location types in various ways, which we'll explore in a moment.&lt;/p&gt;

&lt;p&gt;The important point to remember is to define the tag together with the location from which you want to run a measurement request. &lt;/p&gt;

&lt;p&gt;The basic structure of a command looks like this:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;globalping [command] [target] --from [location &amp;amp; tag combos] [options]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Let's check out some examples!&lt;/p&gt;

&lt;h3&gt;
  
  
  Combining with the &lt;code&gt;world\&lt;/code&gt; location
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;world&lt;/code&gt; location is the default setting used by our API, but you can also specifically define it in your requests. This comes in handy when you want to run tests from random global locations while &lt;a href="https://github.com/jsdelivr/globalping#the-world" rel="noopener noreferrer"&gt;keeping a balanced probe count&lt;/a&gt; across continents.&lt;/p&gt;

&lt;p&gt;So, for example, to request traceroute measurements from 10 probes around the globe, all of which are from eyeball network probes, run the following command:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;globalping traceroute jsdelivr.com --from world+eyeball --limit 10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Since &lt;code&gt;world&lt;/code&gt; is the default location used if you don’t specify a specific location, you can also simplify the above command and use the eyeball tag by itself:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;globalping traceroute jsdelivr.com --from eyeball --limit 10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  Combining with a specific location
&lt;/h3&gt;

&lt;p&gt;Like the previous example, you can also set a specific location instead of letting the API select a random one.&lt;/p&gt;

&lt;p&gt;Remember, valid locations include countries, continents, cities, US states, regions (Western Europe), ASNs, ISP names, and cloud region names (us-east-2).&lt;/p&gt;

&lt;p&gt;For example, let's say you want to run a ping test from Berlin and limit the probe selection to eyeball network probes; use the following command:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;globalping ping jsdelivr.com --from Berlin+eyeball --limit 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Here's what the result could look like:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvuq6l6agug96gk1d1j97.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvuq6l6agug96gk1d1j97.png" alt="eyeball-tag-ping-example-1.png" width="800" height="282"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Stacking filters
&lt;/h3&gt;

&lt;p&gt;In the examples above, we've already utilized the "+" sign to combine a location and tag. You can also use the "+" sign to stack various locations and tags to create filters to refine your queries.&lt;/p&gt;

&lt;p&gt;For example, to run two ping tests from eyeball network probes in North America within the ASN137409, run:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;globalping ping jsdelivr.com --from "North America+eyeball+as137409" --limit 2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The result looks something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyu2zhv4llnvnkusri48l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyu2zhv4llnvnkusri48l.png" alt="eyeball-tag-ping-filter-example.png" width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Stacking filters and combining locations
&lt;/h3&gt;

&lt;p&gt;You may have already executed a measurement request from multiple locations by listing them with a comma like this:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;globalping ping jsdelivr --from "Berlin,USA,South Africa" --limit 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This command results in three ping tests: one from Berlin, one from the USA, and another from South Africa.&lt;/p&gt;

&lt;p&gt;Combining locations and defining filters using the "+" sign enables you to create even more fine-tuned requests. For example, to perform ping tests from an eyeball network probe in Berlin and a data center network in New York, use the following command:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;globalping ping jsdelivr.com --from "Berlin+eyeball,New York+datacenter" --limit 2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The result looks something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Falc30lumbn1k1zyvfmyp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Falc30lumbn1k1zyvfmyp.png" alt="eyeball-tag-ping-filter-combination-example.png" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Our new system tags allow you to run measurement commands from data center and eyeball networks, opening up valuable perspectives for network analysis. Whether you want to improve your users' experience or delve into infrastructure details, these tags can help you get the needed insights.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/jsdelivr/globalping" rel="noopener noreferrer"&gt;Visit us on GitHub&lt;/a&gt; to learn more about Globalping features and best practices, and leave us your feedback so we can make Globalping a better platform for everyone!&lt;/p&gt;

&lt;p&gt;Happy testing!&lt;/p&gt;

</description>
      <category>networking</category>
      <category>webperf</category>
      <category>network</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Top 10 Slack Apps for DevOps Teams</title>
      <dc:creator>Dmitriy A.</dc:creator>
      <pubDate>Thu, 12 Oct 2023 14:17:51 +0000</pubDate>
      <link>https://dev.to/globalping/top-10-slack-apps-for-devops-teams-3887</link>
      <guid>https://dev.to/globalping/top-10-slack-apps-for-devops-teams-3887</guid>
      <description>&lt;p&gt;Slack has become an essential digital communication tool for many teams that brings everyone together in one place, supporting productive collaboration. To get even more out of Slack, many workspaces use Slack apps, and especially for DevOps teams, choosing the right app can be tricky due to the wide selection. &lt;/p&gt;

&lt;p&gt;In this blog post, we'll introduce you to our ten favorite Slack apps that make your everyday DevOps life much more convenient!&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub – Get updates on GitHub activity
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--j4NfYQjb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gpa7xc421u7puyae2pur.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j4NfYQjb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gpa7xc421u7puyae2pur.png" alt="Image description" width="800" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If your team uses GitHub, the dedicated &lt;a href="https://slack.com/apps/A01BP7R4KNY-github?tab=more_info"&gt;GitHub&lt;/a&gt; Slack app is an absolute must for your workspace as it helps you stay in the loop about GitHub activity and opens the door for discussions with your team. &lt;/p&gt;

&lt;p&gt;With this app, you can subscribe to your team's repositories to ensure you and your team receive notifications about new commits, pull requests, code reviews, or issues.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/github subscribe owner/repo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;You can also take action directly in Slack using the following format:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/github [action] [resource]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This means you can perform everyday GitHub actions, such as closing or reopening issues and pull requests or even creating new issues – all without leaving Slack and constantly switching between tools!&lt;/p&gt;

&lt;h2&gt;
  
  
  CircleCI – get CI/CD notifications 
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5l3pZCa5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qyln3r6ivz9b2xx30cwi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5l3pZCa5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qyln3r6ivz9b2xx30cwi.png" alt="Image description" width="800" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If your team uses CircleCI for continuous integration and deployment, the &lt;a href="https://slack.com/apps/A0F7VRE7N-circleci?tab=more_info"&gt;CircleCI&lt;/a&gt; Slack app can be a great addition to your workspace. &lt;/p&gt;

&lt;p&gt;Thanks to this simple app, you no longer need to manually check the status of your CircleCI builds. Instead, the Slack app provides instant updates on build and deployment status so you know when a CircleCI build is complete. In the meantime, you can focus on other, more pressing matters without feeling like you've forgotten something. &lt;/p&gt;

&lt;p&gt;Not a CircleCI user? No problem! Check out similar apps from other providers, such as &lt;a href="https://slack.com/apps/A0F7VRFKN-jenkins-ci"&gt;Jenkins CI&lt;/a&gt; or &lt;a href="https://slack.com/apps/A0F81FP4N-travis-ci?tab=more_info"&gt;Travis CI&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  FireHydrant – Manage incidents
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LvekSfSD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ylnn967jfai7g2h8ytb1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LvekSfSD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ylnn967jfai7g2h8ytb1.png" alt="Image description" width="800" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://slack.com/apps/AANUETZL5-firehydrant?tab=more_info"&gt;FireHydrant&lt;/a&gt; is an incident management platform you can integrate into your Slack workspace. The tool helps improve your DevOps team's incident response by keeping you informed from the moment an alert is raised until the issue is resolved – without leaving the familiar environment of Slack.&lt;/p&gt;

&lt;p&gt;When you kick off an incident in Slack, FireHydrant gathers all the essential information from your defined service catalog and starts running your FireHydrant Runbooks. These Runbooks automate tasks like ticket creation and customer support notifications, reducing the time you spend on manual work. &lt;/p&gt;

&lt;p&gt;Moreover, it also tracks incident timelines, manages communication updates across various channels, and integrates with popular tools like PagerDuty, Zoom, or Jira. &lt;/p&gt;

&lt;h2&gt;
  
  
  CTO.ai – Slack-first serverless DevOps
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Fm2_YrEM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/32r750g5p46fbkvaih3n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Fm2_YrEM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/32r750g5p46fbkvaih3n.png" alt="Image description" width="800" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ever heard of SlackOps? Meet &lt;a href="https://slack.com/apps/A49L9N70F-ctoai?tab=more_info"&gt;CTO.ai&lt;/a&gt;, a platform that lets your team streamline DevOps workflows and improve collaboration, whether you're working from the office or on the go, as long as you have Slack with you.  &lt;/p&gt;

&lt;p&gt;First, you need to write your DevOps workflows using the CLI tool and then access them from within Slack, resulting in instant ChatOps compatibility.&lt;/p&gt;

&lt;p&gt;For example, to start one of your DevOps workflows from Slack, run:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/ops run [Workflow_name]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Ultimately, your team can run workflows from anywhere while getting real-time insights into what's happening. The platform aims to simplify developers' lives and streamline product releases, cloud deployment, and employee onboarding.&lt;/p&gt;

&lt;h2&gt;
  
  
  json.dev – JSON formatting simplified
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8oy8uN3d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nswwdpttye37y6c1chd0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8oy8uN3d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nswwdpttye37y6c1chd0.png" alt="Image description" width="800" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sending code snippets or data to your fellow DevOps engineers in Slack is something you probably do almost every day. However, formatting it for readability can be a bit of a hassle when it's JSON. Often, you'll need to prettify the JSON in another tool before you can paste it back into Slack and send it.&lt;/p&gt;

&lt;p&gt;This is where &lt;a href="https://slack.com/apps/AKAGHDDNX-jsondev?tab=more_info"&gt;json.dev&lt;/a&gt; comes in, making your life easier by removing the pain of copying, pasting, and switching between tools just to send pretty JSON. Install the json.dev Slack app and use it right away to send your colleagues JSON data they can actually read. &lt;/p&gt;

&lt;p&gt;Here's how you can prettify JSON:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/json fmt {"example": [{"foo": 1, "bar": 2},{"foo": 3, "bar": 4}]}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;And voilà! The Slack app transforms it into beatufiul JSON:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RaXVZ5ZQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y9kbmky5vzjacca7mhhp.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RaXVZ5ZQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y9kbmky5vzjacca7mhhp.PNG" alt="Image description" width="502" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, you can also minify the JSON again using the &lt;code&gt;minify\&lt;/code&gt; command.&lt;/p&gt;

&lt;h2&gt;
  
  
  Buddy – Easy CI/CD
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UoK9UDqA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tnvv0azq7ews22893577.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UoK9UDqA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tnvv0azq7ews22893577.png" alt="Image description" width="800" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Buddy is a CI/CD and automation platform that simplifies the process of building, testing, and deploying code from GitHub, Bitbucket, and GitLab. With Buddy, teams can quickly create custom deployment pipelines with a visualized user interface, making it a great tool for any developers or engineers who are not (yet) DevOps experts. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://slack.com/apps/A0EVCDGU8-buddy?tab=more_info"&gt;Buddy's Slack app&lt;/a&gt; keeps your DevOps team in the loop by providing real-time updates, including pipeline activities like builds, deployments, and any issues along the way. As a result, your team can discuss results and share insights in your shared Slack channel, improving collaboration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Globalping – Global network testing
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pHyqUWaq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xjuxibx3rqv0yr1dq7im.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pHyqUWaq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xjuxibx3rqv0yr1dq7im.png" alt="Image description" width="800" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Globalping is a network testing platform that allows anyone to run measurement requests such as traceroute, mtr, dig, and curl from virtually anywhere in the world to test and troubleshoot networks. &lt;/p&gt;

&lt;p&gt;With the &lt;a href="https://slack.com/apps/A03B3JB0PB2-globalping?tab=more_info"&gt;Globalping Slack app&lt;/a&gt;, you can integrate the platform's features with Slack to help you collaborate with your team in critical situations like network outages. Ultimately, anyone in your workspace can run measurement requests directly from Slack, regardless of their technical expertise, making it a real benefit for cross-team collaboration.&lt;/p&gt;

&lt;p&gt;Writing Globalping commands is straightforward – in its most basic form, you just need to define the network test command and a location from which to run it. In this example, we run a traceroute to a website from London: &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/globalping traceroute dev.to from London
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9L-Pbec2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/urv9m8nk6me4e6mbzm5m.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9L-Pbec2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/urv9m8nk6me4e6mbzm5m.PNG" alt="Image description" width="694" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can &lt;a href="https://github.com/jsdelivr/globalping#best-practices-and-tips"&gt;specify multiple locations&lt;/a&gt; by separating them with a comma or combining them with a "+" sign. For instance, "Amsterdam, Canada, us-east-2" would initiate commands using a random Globalping probe at each defined place. On the other hand, "Amsterdam+eyeball" would run your measurement request from a random eyeball network in Amsterdam. In essence, you can define various location types, and Globalping will try to select the most suitable probes for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Azure Pipelines – Monitor pipeline activity
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gRDv-pt7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6sd2kzo2iy5h28qzcx45.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gRDv-pt7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6sd2kzo2iy5h28qzcx45.png" alt="Image description" width="800" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Azure is likely your go-to for DevOps if your company relies on Microsoft products. And with the &lt;a href="https://slack.com/apps/AFH4Y66N9-azure-pipelines?tab=more_info"&gt;Azure Pipelines&lt;/a&gt; App for Slack, monitoring your Azure pipeline activity becomes super convenient. It lets you set up and manage subscriptions for various events directly from Slack, including completed builds, releases, and pending approvals. You'll also receive notifications for these events in your Slack channels.&lt;/p&gt;

&lt;p&gt;It's also likely that your team uses other Azure products – the good news is that the Slack App Directory offers various Azure apps, including &lt;a href="https://slack.com/apps/AKR9QDD1D-azure-boards?tab=more_info"&gt;Azure Boards&lt;/a&gt; and &lt;a href="https://slack.com/apps/AKPEA4W4Q-azure-repos?tab=more_info"&gt;Repos&lt;/a&gt;. This way, you can bring even more productivity- and collaboration-enhancing features and insights to your Slack workspace.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS chatbot – Monitor and interact with AWS
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--acu2TXwp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/en0w3613bg5ovc17n1b1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--acu2TXwp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/en0w3613bg5ovc17n1b1.png" alt="Image description" width="800" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The interactive &lt;a href="https://slack.com/apps/A6L22LZNH-aws-chatbot?tab=more_info"&gt;AWS chatbot&lt;/a&gt; Slack app is a valuable tool for monitoring and interacting with your AWS resources directly through your Slack channels. The app sends alerts to your workspace, enabling your team to quickly respond to events like a CloudWatch alarm. Additionally, you can access log files with a simple click, so you don't have to switch between different tools.&lt;/p&gt;

&lt;p&gt;Finally, you can even execute AWS CLI commands within Slack. This means that anyone accustomed to working with the terminal can seamlessly do so right from Slack, keeping everything in one convenient place without losing the benefits of the CLI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Truffle – Your FAQ support
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gYuL5qWo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0spcx94g6wyycnk2rs1n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gYuL5qWo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0spcx94g6wyycnk2rs1n.png" alt="Image description" width="800" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You most likely share a Slack workspace with the entire company or your product team, which often means your DevOps teams' expertise is in high demand. However, you'll often get the same repetitive questions, and answering them takes away from your time and focus. So, that's where &lt;a href="https://slack.com/apps/ASAFS8C2D-truffle-answer-repeated-questions?tab=more_info"&gt;Truffle&lt;/a&gt; comes in, a Slack app that answers recurring questions by building a wiki-like knowledge base from your past conversations!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DHlLKv_v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xmdjfmj8yfbh28lhr3kx.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DHlLKv_v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xmdjfmj8yfbh28lhr3kx.PNG" alt="Image description" width="681" height="242"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you add Truffle to your channel, it starts collecting knowledge. When someone asks a question in a Truffle channel, Truffle answers it for you (assuming the information is available, of course). This allows you and your team to spend more time on new and more complex questions while ensuring everyone gets the answers they need to do their work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Have you already integrated some of the Slack apps we've featured? Either way, we hope you've discovered a Slack app or two worth trying, especially if you're already using the tool behind it anyway!&lt;/p&gt;

&lt;p&gt;Like what you've read? Check out our other blog post about &lt;a href="https://dev.to/globalping/top-10-cli-tools-for-devops-teams-4fok"&gt;our top 10 favorite CLI tools for DevOps teams&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>slack</category>
      <category>developers</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Supercharge Your GitOps Workflows with the Globalping GitHub Bot</title>
      <dc:creator>Dmitriy A.</dc:creator>
      <pubDate>Tue, 19 Sep 2023 13:00:18 +0000</pubDate>
      <link>https://dev.to/globalping/supercharge-your-gitops-workflows-with-the-globalping-github-bot-341a</link>
      <guid>https://dev.to/globalping/supercharge-your-gitops-workflows-with-the-globalping-github-bot-341a</guid>
      <description>&lt;p&gt;If you're anything like us, you're always on the lookout for ways to streamline and improve your workflows, especially when dealing with essential yet sometimes complex tools like GitHub. That's why we created the Globalping GitHub bot: it helps to collaborate on issues and supports teams' GitOps processes.&lt;/p&gt;

&lt;p&gt;Globalping is a network testing platform that empowers you to run commands like ping and traceroute from almost any location worldwide. You can use our platform through various integrations, such as our CLI tool, with the GitHub bot being the latest addition. &lt;/p&gt;

&lt;p&gt;In this article, we'll introduce you to the Globalping GitHub bot, show you how to use it, and explore some typical use cases where it can make your GitHub experience more productive and enjoyable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Exploring the Globalping GitHub bot
&lt;/h2&gt;

&lt;p&gt;Are you new to the entire GitHub bot topic? Then, let's bring you up to speed before moving on. &lt;/p&gt;

&lt;p&gt;GitHub bots (or &lt;a href="https://docs.github.com/en/apps/overview"&gt;GitHub Apps&lt;/a&gt;) are essentially automated helpers designed to improve how you work with the platform or extend its functionality. Anyone can create a bot for their own needs or to share with others on GitHub. Some use cases range from automating routine tasks like commenting to performing specific actions when someone creates a new pull request. Bots are also often used to integrate GitHub with other platforms, such as CircleCI, Azure, SonarCloud, and many others.&lt;/p&gt;

&lt;p&gt;Now, what can the&lt;a href="https://github.com/globalping"&gt; Globalping GitHub bot&lt;/a&gt; do? &lt;/p&gt;

&lt;p&gt;In essence, our Globalping GitHub bot can do everything our CLI tool can – it can run network measurement commands from virtually anywhere while maintaining the same command structure. This ensures that using Globalping remains simple and consistent, regardless of which integration you are using. Also, there's no need to install anything to use our bot. You can trigger it in any public GitHub issue by commenting @globalping followed by the network command you want to run – but we'll go into more detail about the hows in a moment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you want to learn more about the &lt;a href="https://github.com/jsdelivr/globalping"&gt;Globalping platform&lt;/a&gt; and how it works, check out our &lt;a href="https://www.jsdelivr.com/blog/globalping-goes-live-a-community-powered-global-network-testing-platform/"&gt;introductory blog post&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Using the Globalping GitHub bot
&lt;/h2&gt;

&lt;p&gt;Let's roll up our sleeves and see the Globalping bot in action. All you need to get started is a GitHub account and a publicly available issue (this is important!) where you want to trigger the bot. &lt;/p&gt;

&lt;p&gt;Globalping has a handy &lt;code&gt;--help&lt;/code&gt; option that is a good starting point for exploration. So, let's have our first interaction with the bot to get help:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open an existing publicly available issue or create a new one.&lt;/li&gt;
&lt;li&gt;Activate the bot by commenting "@globalping --help", i.e., write the command in the comment text box and submit it. Be sure to mention the bot with the "@" sign, just as you would to reference a GitHub user.&lt;/li&gt;
&lt;li&gt;Give the bot a moment to process your request and work its magic.&lt;/li&gt;
&lt;li&gt;Voilà – you should see the bot's comment, including information about how to use it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can get more information about specific measurement commands by writing a command type with the &lt;code&gt;--help&lt;/code&gt; flag in this format:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@globalping ping --help
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In this example, the bot comment explains how to use the ping command and what flags (options) are available.&lt;/p&gt;

&lt;p&gt;It also describes the command structure, which is the same for all available commands:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@globalping [command type] [target] from [location] [flags]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Now that we've learned the basics, we can create more interesting network measurement requests!&lt;/p&gt;

&lt;h3&gt;
  
  
  Example: Ping a target from Berlin using two probes.
&lt;/h3&gt;

&lt;p&gt;Let's put our newly acquired knowledge into practice. In this example, we want to ping a target from Berlin using two probes (meaning we'll also get two ping results). Here's how you can achieve this by creating a simple command within your GitHub issue:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@globalping ping jsdelivr.com from Berlin --limit 2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;After a short moment, you should see the comment, including the result that looks something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NZNDkzri--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b2s31c27inebz69k5htp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NZNDkzri--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b2s31c27inebz69k5htp.jpg" alt="globalping ping from github issues" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By default, Globalping sets the probe limit to 1, meaning it selects a single active probe for the measurement. However, in this example, we explicitly request two probes to perform the ping command from Berlin using the option &lt;code&gt;--limit&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Example: Traceroute a target from an AWS probe in Montreal using UDP
&lt;/h3&gt;

&lt;p&gt;Suppose you're curious about your data's network path as it travels from an AWS probe in Montreal to a specific target using the UDP protocol. To get this information, here's the traceroute command to comment on your GitHub issue:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@globalping traceroute jsdelivr.com from aws+montreal --protocol udp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The result will look something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--d5yOvX5I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bw2249rwocmk803erzbq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--d5yOvX5I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bw2249rwocmk803erzbq.jpg" alt="traceroute from aws inside github comments" width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this example, we've used the &lt;code&gt;+&lt;/code&gt; sign to combine two location types and fine-tune our request. The Globalping API, responsible for selecting the fitting probes to run commands on, does its best to interpret the location you provide, so feel free to experiment! You can specify countries, continents, cities, US states, regions, ASNs, ISP names, and cloud region names.&lt;/p&gt;

&lt;p&gt;Additionally, we've used the &lt;code&gt;--protocol&lt;/code&gt; option, which is unavailable for other commands like ping. While all commands share certain options, such as location (&lt;code&gt;--from&lt;/code&gt;) and the number of probes (&lt;code&gt;--limit&lt;/code&gt;), some support unique options. For instance, you can define the protocol (&lt;code&gt;--protocol&lt;/code&gt;) for traceroute or specify the number of ICMP packets (&lt;code&gt;--packets&lt;/code&gt;) to send with ping.\&lt;br&gt;
Check all available options with the &lt;code&gt;--help&lt;/code&gt; option!&lt;/p&gt;

&lt;h2&gt;
  
  
  Leveraging network troubleshooting in Github issues 
&lt;/h2&gt;

&lt;p&gt;Now that we've got the hang of using the Globalping GitHub bot let's explore some use cases and the benefits for your GitOps workflows and collaboration on GitHub.&lt;/p&gt;

&lt;h3&gt;
  
  
  View network issues from a user perspective.
&lt;/h3&gt;

&lt;p&gt;Thanks to our global network of probes, you can assess network performance and issues from almost any location. Whether your users are in major cities or rural areas, you can directly replicate their experiences and troubleshoot location-specific problems in the relevant GitHub issue.&lt;/p&gt;

&lt;h3&gt;
  
  
  Improve collaboration.
&lt;/h3&gt;

&lt;p&gt;By letting anyone effortlessly integrate network data into public GitHub issues, our Globalping bot can help streamline GitOps workflows and make collaboration more efficient. No more tedious copying and pasting and switching between different tools – with our bot, you can run network tests directly in GitHub and ensure that essential data is immediately available where you need it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Get issues resolved faster.
&lt;/h3&gt;

&lt;p&gt;Having commands like ping, traceroute, mtr, dig, and curl at your fingertips to collect information on network latency, routing paths, DNS resolution, and more can help you solve problems hinging on network data faster. With the help of the Globalping bot, you can add more relevant information to a GitHub issue, providing actionable insights and potentially making it easier to understand and solve the problem. &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Whether you want to fine-tune your network configurations, solve connectivity issues, or get insights into your network, the Globalping GitHub bot is here to help. Just mention "&lt;a href="https://github.com/globalping"&gt;@globalping&lt;/a&gt;" alongside the respective command within a public GitHub issue, and watch the bot respond with results – no installations required!&lt;/p&gt;

&lt;p&gt;Happy testing! &lt;/p&gt;

</description>
      <category>github</category>
      <category>networking</category>
      <category>devops</category>
      <category>linux</category>
    </item>
    <item>
      <title>Top 10 CLI Tools for DevOps Teams</title>
      <dc:creator>Dmitriy A.</dc:creator>
      <pubDate>Mon, 14 Aug 2023 15:34:16 +0000</pubDate>
      <link>https://dev.to/globalping/top-10-cli-tools-for-devops-teams-4fok</link>
      <guid>https://dev.to/globalping/top-10-cli-tools-for-devops-teams-4fok</guid>
      <description>&lt;p&gt;For many DevOps teams, CLI tools have become indispensable helpers to automate tasks, manage infrastructure, and collaborate like a well-oiled machine. In this blog post, we'll share our top 10 CLI tools for DevOps teams that you'll enjoy integrating into your workflows!&lt;/p&gt;

&lt;h2&gt;
  
  
  Dive – Explore Docker images
&lt;/h2&gt;

&lt;p&gt;Whether you work with Docker regularly or even create your own Docker containers, &lt;a href="https://github.com/wagoodman/dive" rel="noopener noreferrer"&gt;Dive&lt;/a&gt; is a great tool for streamlining image sizes, potentially helping you save storage costs and speed up deployments.&lt;/p&gt;

&lt;p&gt;With the Dive CLI tool, you can &lt;em&gt;dive&lt;/em&gt; into the layers of an image, see their size and content, and potentially uncover wasted space. For example, it lets you view the files and directories in each layer to find those that are unnecessarily bloating the image.&lt;/p&gt;

&lt;p&gt;This enables you to take the necessary steps to reduce the image size by, for example, updating your .dockerignore file to omit the identified unnecessary resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  HTTPie CLI – Test and debug APIs
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/httpie/cli" rel="noopener noreferrer"&gt;HTTPie CLI&lt;/a&gt; is something like a modern alternative to the &lt;code&gt;curl&lt;/code&gt; command, allowing you to interact with and test APIs, HTTP servers, and web services. Its developers have designed it to be powerful yet easy to use, thanks to its intuitive syntax and color-coded terminal output for better clarity. &lt;/p&gt;

&lt;p&gt;The tool has numerous functions that allow you to perform a wide range of HTTP requests. &lt;/p&gt;

&lt;p&gt;For example, a command to make a PUT request to an API endpoint with HTTP header data and some JSON data might look like this:&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http PUT myapi.com/enpoint X-API-Token:123 username=pete1&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  AWS CLI - Manage AWS Services&lt;br&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/aws/aws-cli" rel="noopener noreferrer"&gt;AWS CLI&lt;/a&gt; is a must-have tool if your team relies on Amazon Web Services. It lets you effortlessly interact with AWS services, orchestrate resource management, and automate tasks from the comfort of your terminal. Once you get used to the tool, you'll notice how convenient and quick it is to fit into your processes – especially compared to going through AWS's web-based user interface. &lt;/p&gt;

&lt;p&gt;If you don't use AWS, you can usually find CLI tools for other major cloud infrastructure services, such as &lt;a href="https://github.com/Azure/azure-cli" rel="noopener noreferrer"&gt;Azure CLI&lt;/a&gt; or &lt;a href="https://cloud.google.com/sdk/gcloud" rel="noopener noreferrer"&gt;gcloud CLI&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  K9s – Manage Kubernetes Clusters
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/derailed/k9s" rel="noopener noreferrer"&gt;K9s&lt;/a&gt; is an open-source, terminal-based UI for interacting with your Kubernetes clusters, making navigating, observing, and managing your apps easier. If you use Kubectl but wish it was easier and faster to use, K9s might be just what you're looking for!&lt;/p&gt;

&lt;p&gt;K9s visual approach makes viewing and managing pods, deployments, and services more straightforward. If you like to customize it, K9s' skins let you define your preferred look and feel. Additionally, you can add more features by creating plugins or choosing from plugins provided by the community.&lt;/p&gt;

&lt;p&gt;Here's an example of K9s' pod overview:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh5.googleusercontent.com%2FrvMZbdqpMFdpVkK6HEhczuyXrwvfvUeUxKC9c8_TBgZhsMG6q5v3M5jVF1k2jmQHyZKGtE0b86uJIEMGY9DytsGuVXCSgoEnZK12HEtWhuVyHy5HbvT-SiJ67fji-4VRX-5F9PYfzoXF-2UkihMkkg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh5.googleusercontent.com%2FrvMZbdqpMFdpVkK6HEhczuyXrwvfvUeUxKC9c8_TBgZhsMG6q5v3M5jVF1k2jmQHyZKGtE0b86uJIEMGY9DytsGuVXCSgoEnZK12HEtWhuVyHy5HbvT-SiJ67fji-4VRX-5F9PYfzoXF-2UkihMkkg" alt="k9s" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Updatecli – Create custom update strategies
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/updatecli/updatecli" rel="noopener noreferrer"&gt;Updatecli&lt;/a&gt; is a useful tool for fine-tuning update strategies in DevOps. As you've probably experienced, manual updates often result in outdated specs because figuring out what can be updated is tricky. &lt;/p&gt;

&lt;p&gt;Updatecli lets you define custom strategies so that each application "run" detects whether a value needs to be updated and then applies the changes according to the strategy. We particularly like Updatecli's plugin-based approach to adapting to different workflows, which keeps you flexible and independent of underlying dependencies.&lt;/p&gt;

&lt;h2&gt;
  
  
  JQ and YQ – JSON and YAML parsing and processing
&lt;/h2&gt;

&lt;p&gt;JQ and YQ are handy CLI tools for anyone working with JSON or YAML in their shell scripts and terminal. &lt;/p&gt;

&lt;p&gt;With &lt;a href="https://github.com/jqlang/jq" rel="noopener noreferrer"&gt;JQ&lt;/a&gt; you can cut, filter, map, and transform JSON like with the &lt;code&gt;sed\&lt;/code&gt;, &lt;code&gt;awk\&lt;/code&gt;, or &lt;code&gt;grep\&lt;/code&gt; commands. &lt;a href="https://github.com/mikefarah/yq" rel="noopener noreferrer"&gt;YQ&lt;/a&gt; is more or less the same but is tailored to process YAML. Using these two tools, you can streamline data-driven tasks like testing API responses, managing configuration files, or handling Kubernetes manifests.&lt;/p&gt;

&lt;p&gt;While JQ and YQ are not identical in use, they share many similarities. Here is a simple  example of how to read a value from a JSON and a YAML file:&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&lt;p&gt;jq .name file.json&lt;br&gt;
yq .name file.yaml&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Terragrunt – Amplify terraform capabilities&lt;br&gt;
&lt;/h2&gt;

&lt;p&gt;If your team works with Terraform, you should definitely try &lt;a href="https://github.com/gruntwork-io/terragrunt" rel="noopener noreferrer"&gt;Terragrunt&lt;/a&gt; (and obviously, its CLI tool!). It's an Infrastructure as Code (IaC) tool that acts as a wrapper for Terraform and simplifies dealing with multiple Terraform modules in different environments. &lt;/p&gt;

&lt;p&gt;Other benefits of Terragrunt include modular code organization, common standards, and efficient versioning with Git that improve collaboration. It also simplifies state file management and managing states across multiple environments.&lt;/p&gt;

&lt;h2&gt;
  
  
  Globalping - troubleshoot and test networks globally
&lt;/h2&gt;

&lt;p&gt;Globalping is a &lt;a href="https://globalping.io/" rel="noopener noreferrer"&gt;global network testing&lt;/a&gt; tool with an extensive probe network that allows you to make measurement requests like ping, traceroute, mtr, dig, or curl from almost anywhere in the world. &lt;/p&gt;

&lt;p&gt;Using the &lt;a href="https://github.com/jsdelivr/globalping-cli" rel="noopener noreferrer"&gt;Globalping CLI tool&lt;/a&gt;, you can quickly and easily test and troubleshoot APIs, DSN resolution, or your servers. For example, it allows you to look at network issues from the user's perspective by running commands from their location without actually having physical access. &lt;/p&gt;

&lt;p&gt;When defining a location from which to run a command, you can simply enter something that makes sense to you, and the tool will do its best to select the appropriate probes. Valid location inputs include countries, continents, cities, US states, regions (Western Europe), ASNs, ISP names, and cloud region names (us-east-2).&lt;/p&gt;

&lt;p&gt;Here’s an example where we used the Globalping CLI to ping a website from two probes in Athens and South America:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnpk8dafn2czvge8rcijd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnpk8dafn2czvge8rcijd.png" alt="Globalping CLI global ping" width="800" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  fzf – Command-line fuzzy finder
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/junegunn/fzf" rel="noopener noreferrer"&gt;fzf&lt;/a&gt; is a fuzzy finder for the command line that is a great help in handling and navigating through data lists. It offers an intuitive user interface that allows you to quickly search, select and filter through various items, whether they're files, directories, command histories, or other text-based inputs. In addition, fzf has a real-time search function, a preview of file contents, and an auto-complete feature that minimizes the need for manual typing. &lt;br&gt;
Once you get used to fzf to increase productivity and reduce errors, you won't want to return to a life without it!&lt;/p&gt;

&lt;h2&gt;
  
  
  urfave/cli – Build custom CLI tools
&lt;/h2&gt;

&lt;p&gt;When it comes to finding the right CLI tools for a task, it often turns out that you need something tailored to your specific challenge or use case. That's when &lt;a href="https://cli.urfave.org/" rel="noopener noreferrer"&gt;urfave/cli&lt;/a&gt; comes in handy, a Go package that provides a framework for creating your own Go command-line applications. &lt;/p&gt;

&lt;p&gt;Its developers have designed it to be easy to understand and use and provide thorough documentation to help you get started and beyond.&lt;/p&gt;

&lt;p&gt;So even if you don't find &lt;em&gt;the perfect&lt;/em&gt; CLI tool in this list, you can leverage urfave/cli to create it yourself and share it with your team.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;We hope you found one or two CLI tools in our list that you would like to try out to improve your DevOps team efficiency, collaboration, and infrastructure management. &lt;/p&gt;

&lt;p&gt;Like what you've read? Check out our &lt;a href="https://dev.to/globalping"&gt;other blog posts&lt;/a&gt; for more DevOps and network testing insights.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cli</category>
      <category>networking</category>
      <category>linux</category>
    </item>
    <item>
      <title>Become Part of the Globalping Community: How to Run a Virtual Probe</title>
      <dc:creator>Dmitriy A.</dc:creator>
      <pubDate>Mon, 12 Jun 2023 11:23:22 +0000</pubDate>
      <link>https://dev.to/globalping/become-part-of-the-globalping-community-how-to-run-a-virtual-probe-1iia</link>
      <guid>https://dev.to/globalping/become-part-of-the-globalping-community-how-to-run-a-virtual-probe-1iia</guid>
      <description>&lt;p&gt;Globalping is a network testing platform that relies on a globally distributed network of probes hosted by our community to allow anyone to run network commands from anywhere. &lt;/p&gt;

&lt;p&gt;This guide explores why Globalping improves with network size and how you can contribute by running your own virtual probe. If you are familiar with the Globalping platform and interested in making the Internet faster for everyone, this article is for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Globalping thrives on community contribution
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://www.jsdelivr.com/globalping"&gt;probe network&lt;/a&gt; and the &lt;a href="https://github.com/jsdelivr/globalping"&gt;Globalping API&lt;/a&gt;, which handles measurement requests between users and probes, form the platform's backbone. With them, anybody can run network commands like &lt;a href="https://www.jsdelivr.com/blog/run-ping-test-from-anywhere-globalping/"&gt;ping&lt;/a&gt; or traceroute from any corner of the world.&lt;/p&gt;

&lt;p&gt;Today, we already have hundreds of active probes around the globe, mainly running inside Docker containers in the homes, offices, and cloud servers of individuals and partner companies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What do the probes do?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The function of these probes is limited and simple: they receive measurement requests from the Globalping API, execute the requested commands, return the results to the API, and await the next event.&lt;/p&gt;

&lt;p&gt;So how do more probes make the platform better? &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Run commands from anywhere.&lt;/strong&gt; With a large and dense global probe network, you can run measurements from &lt;em&gt;any&lt;/em&gt; location in the world. With this, we hope to make testing, monitoring, and troubleshooting networks more accessible and easier for network experts and novices alike.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improve web performance.&lt;/strong&gt; For example, website owners can test their website or API load times from different regions to optimize their setup or select a better CDN or cloud provider that offers a more reliable and faster global infrastructure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Increase platform availability and reliability.&lt;/strong&gt; Not all probes can be online and operational 24/7, and there may be periods of high demand in specific areas. With a big probe network, you can count on getting reliable and consistent results, making Globalping ideal for uptime monitoring and SLA validation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enhance data quality&lt;/strong&gt;. With a large network of probes, anyone can collect more extensive and accurate data globally or in underserved regions, leading to more valuable insights.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to set up your own virtual Globalping probe 
&lt;/h2&gt;

&lt;p&gt;In this section, we'll set up a Globalping probe and address frequently asked questions about requirements, limitations, and security considerations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where can I run my probe?
&lt;/h3&gt;

&lt;p&gt;You can run a Globalping probe on any machine that can run a &lt;a href="https://www.docker.com/resources/what-container/"&gt;Docker container&lt;/a&gt;, supporting x86 and ARM architectures. This could be an unused PC in your office, a Linux server hosted with a cloud provider or even a Raspberry Pi lying around at home. &lt;/p&gt;

&lt;p&gt;And thanks to Docker, you don't have to do anything other than create and launch the container by following our instructions (we'll get to that in a moment).&lt;/p&gt;

&lt;h3&gt;
  
  
  What are the requirements and limitations of running a probe?
&lt;/h3&gt;

&lt;p&gt;Our most important requirement is running the probe with a stable internet connection. So when it's online, there should be no packet loss, frequent disconnects, or other regular disruptions that could inaccurately affect the measurement results.&lt;/p&gt;

&lt;p&gt;While 24/7 operation is ideal, it's not mandatory – we welcome everyone interested in running a probe, even part-time.&lt;/p&gt;

&lt;p&gt;As for limitations, we allow only one probe per IP address and block probes from IP addresses associated with anonymous proxies, Tor, and VPN services or IP addresses that we can't resolve to a physical location.&lt;/p&gt;

&lt;p&gt;But at the same time, we don’t require a unique public IP address. Your device can be behind a NAT, and the probe will work correctly since it doesn’t listen on any ports.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to set up a probe with Docker
&lt;/h3&gt;

&lt;p&gt;To create and run the Globalping probe container, execute the following &lt;a href="https://docs.docker.com/engine/reference/commandline/run/"&gt;Docker command&lt;/a&gt; in your terminal: &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker run -d --log-driver local --network host --restart=always --name globalping-probe ghcr.io/jsdelivr/globalping-probe
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;And that's it! Here you can see a probe running in Docker Desktop:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wgJSGCDJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kwh5zo5rjqbbld2dngt5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wgJSGCDJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kwh5zo5rjqbbld2dngt5.png" alt="globalping docker desktop" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Do I need to update my probe?
&lt;/h3&gt;

&lt;p&gt;Docker automatically fetches the latest Globalping probe version from &lt;a href="https://github.com/jsdelivr/globalping-probe/pkgs/container/globalping-probe"&gt;our GitHub repository&lt;/a&gt;, which doesn’t update the container, only the code it’s running. &lt;/p&gt;

&lt;p&gt;Therefore, we recommend you update the container regularly, but it's completely optional, and all you have to do is run these commands:&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker pull ghcr.io/jsdelivr/globalping-probe&lt;br&gt;
docker stop globalping-probe&lt;br&gt;
docker rm globalping-probe&lt;br&gt;
docker run -d --log-driver local --network host --restart=always --name globalping-probe ghcr.io/jsdelivr/globalping-probe&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Can I adjust the number of tests?&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;The number of tests your probe can process depends on the number of CPU cores available and the average CPU usage over the last few minutes. By default, our probes efficiently use available resources, so we recommend you leave it as it is.&lt;/p&gt;

&lt;p&gt;However, you can control resource usage if you want. To do so, add the option &lt;code&gt;--cpuset-cpus="0-2"&lt;/code&gt; to the &lt;code&gt;docker run&lt;/code&gt; command and set the number of CPUs within the quotes.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Is Globalping secure?
&lt;/h3&gt;

&lt;p&gt;Naturally, we don't want anybody to feel uncertain about running a probe or using Globalping for potentially malicious intents. So here are the most important measures we have in place:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Probes don’t open ports on your device or accept any incoming connections. They only establish a single outbound connection to the Globalping API.&lt;/li&gt;
&lt;li&gt;Our &lt;a href="https://github.com/jsdelivr/globalping#limits--wip"&gt;API is rate-limited&lt;/a&gt; to prevent users from abusing the Globalping network. (We limit the number of API requests within a certain time frame).&lt;/li&gt;
&lt;li&gt;Users can't send measurement requests to private IP addresses.&lt;/li&gt;
&lt;li&gt;We actively block domains and IP addresses associated with malware or similar harmful content. For this, we use regularly updated databases of &lt;a href="https://github.com/jsdelivr/globalping/blob/master/src/lib/malware/domain.ts"&gt;domains&lt;/a&gt; and &lt;a href="https://github.com/jsdelivr/globalping/blob/master/src/lib/malware/ip.ts"&gt;IP addresses&lt;/a&gt;. &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Can I run more than one probe?
&lt;/h3&gt;

&lt;p&gt;If you can host probes in multiple locations and IP addresses, then yes, by all means! We are happy to list anyone who can host at least six probes as donors on GitHub and our website.&lt;/p&gt;

&lt;h2&gt;
  
  
  Join the Globalping community
&lt;/h2&gt;

&lt;p&gt;The Globalping platform thrives on the contribution of its community, which powers the extensive probe network. With your invaluable support, we can continuously enhance the platform and provide improved, reliable results to all users free of charge.&lt;/p&gt;

&lt;p&gt;Whether you are eager to run a probe or have questions, feedback, or other contributions, we invite you to &lt;a href="https://github.com/jsdelivr/globalping-probe"&gt;join us on GitHub&lt;/a&gt;. We're happy to have you! &lt;/p&gt;

&lt;p&gt;As an additional opportunity, we offer our GitHub Sponsors to become part of the network by providing a plug-and-play hardware probe.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>network</category>
      <category>networking</category>
      <category>devops</category>
    </item>
    <item>
      <title>Globalping Guide: How to Run a Ping Command From Anywhere</title>
      <dc:creator>Dmitriy A.</dc:creator>
      <pubDate>Thu, 01 Jun 2023 14:22:52 +0000</pubDate>
      <link>https://dev.to/globalping/globalping-guide-how-to-run-a-ping-command-from-anywhere-2eim</link>
      <guid>https://dev.to/globalping/globalping-guide-how-to-run-a-ping-command-from-anywhere-2eim</guid>
      <description>&lt;p&gt;Running ping commands from specific locations around the globe can be crucial for troubleshooting network issues or testing the performance of your globally-distributed servers. &lt;br&gt;
But how can you do that?&lt;/p&gt;

&lt;p&gt;While you may have the option to SSH into a remote server or use a VPN, these methods may not always be accessible or efficient. What if you want to ping from locations beyond your reach or run multiple pings simultaneously to save time?&lt;/p&gt;

&lt;p&gt;That's where Globalping comes in. Globalping is an open-source network testing platform that allows you to run ping commands from (almost) anywhere in the world for free. So whether you're tech-savvy or a curious beginner, we'll show how to send ping requests from various locations using the Globalping platform in this guide.&lt;/p&gt;
&lt;h2&gt;
  
  
  What is Globalping?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.jsdelivr.com/globalping" rel="noopener noreferrer"&gt;Globalping&lt;/a&gt; is a community-powered network testing platform that empowers anyone to run networking commands, including ping, traceroute, dig, curl, and mtr, from anywhere across the globe.&lt;/p&gt;

&lt;p&gt;To do that, Globalping relies on a network of hundreds (and counting) of probes hosted by individuals from our community in their homes, offices, and servers they control. Alongside the probe network, the Globalping platform provides an API that handles users' measurement requests. It runs every aspect, from taking requests and selecting appropriate probes to issuing the execution of commands and collecting the results, ensuring quick delivery to the requesting user.&lt;/p&gt;
&lt;h2&gt;
  
  
  How to run a ping command from anywhere using Globalping
&lt;/h2&gt;

&lt;p&gt;We want Globalping to cater to users with different needs and technical expertise. That's why we're building several integrations that make using the platform a breeze:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.jsdelivr.com/globalping/cli" rel="noopener noreferrer"&gt;Globalping CLI&lt;/a&gt; tool: If you like working with your computer's terminal and are familiar with running network commands, the CLI tool may be a great choice. We support all major Linux distributions, macOS, and Windows – you can find an &lt;a href="https://github.com/jsdelivr/globalping-cli?#installation---quick-start" rel="noopener noreferrer"&gt;installation guide on GitHub&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.jsdelivr.com/globalping/slack" rel="noopener noreferrer"&gt;Globalping Slack app&lt;/a&gt;: With the Slack app, you can extend Globalping's functionality to your entire team, which can help foster collaboration during critical moments like outages.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.jsdelivr.com/globalping" rel="noopener noreferrer"&gt;Online tests&lt;/a&gt;: If you prefer a more straightforward approach without any installation, try the web tool on our website.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now let's see these integrations in action!&lt;/p&gt;
&lt;h2&gt;
  
  
  Use the web tool for quick results
&lt;/h2&gt;

&lt;p&gt;The web tool is your go-to option if you prefer a user-friendly interface or want to execute a ping command swiftly from any device.&lt;br&gt;
To access the web tool, visit the &lt;a href="https://www.jsdelivr.com/globalping" rel="noopener noreferrer"&gt;Globalping website&lt;/a&gt;, where you'll find a form accompanied by a map.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpdkqxqfqlqje9z5scsrj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpdkqxqfqlqje9z5scsrj.png" alt="globalping web tool"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here’s an overview of the available form fields:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Test type: Select the network command you want to execute&lt;/li&gt;
&lt;li&gt;Target: Enter the hostname or IP address of the target&lt;/li&gt;
&lt;li&gt;Location: Specify one or more locations from where you want the API to select the probes. You can define multiple locations by separating them with a comma or combine filters with the "+" sign. The field accepts different location types such as ISP names, ASNs, US states, and regions such as Western Europe.&lt;/li&gt;
&lt;li&gt;Limit: Determine the number of probes to run the command from&lt;/li&gt;
&lt;li&gt;Settings: Customize other options depending on the selected test type. For ping commands, you can adjust the number of packets to send.&lt;/li&gt;
&lt;li&gt;Map: Display the measurement results on the map below.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's send our first ping command via this form!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example scenario:&lt;/strong&gt; Run the ping command to jsdelivr.com from 10 random locations in Europe.&lt;/p&gt;

&lt;p&gt;Fill in the form like so:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;set the test type to "ping"&lt;/li&gt;
&lt;li&gt;enter "jsdelivr.com" in the target field&lt;/li&gt;
&lt;li&gt;specify "Europe" as the location&lt;/li&gt;
&lt;li&gt;leave the limit set to 10&lt;/li&gt;
&lt;li&gt;click on "Run test"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And voilá, you should see results in a few seconds.&lt;/p&gt;

&lt;p&gt;If you've activated the Map switch, you can view the locations on the map where the API issued the ping command. These location points are color-coded based on the ping's rounded average round trip time (RTT). You can also click on the points for more details.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa0nep4rufshk6soh6b19.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa0nep4rufshk6soh6b19.jpg" alt="network tests results"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Below the map is a list of ping results for the ten probes. The first line displays the location, Autonomous System Number (ASN), rounded average RTT, and the packet loss percentage of the ping. The raw ping results are listed below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bgr6frgyn2o04876zcc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bgr6frgyn2o04876zcc.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lastly, at the bottom of the list, you can find a link to share your measurement results with others.&lt;/p&gt;
&lt;h2&gt;
  
  
  Use the CLI tool or Slack app for more customization
&lt;/h2&gt;

&lt;p&gt;The Globalping CLI tool and Slack app offer greater customization options than the web tools. Also, if you need to run network commands regularly, installing a Globalping integration on your machine can be more convenient than navigating to the web tool to run a command.&lt;/p&gt;

&lt;p&gt;In the following examples, we'll focus on using the Globalping CLI tool for running ping commands. However, if you prefer, you can follow along using the Slack app, as sending measurement requests and reading responses are nearly identical.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ping from anywhere using the Globalping CLI tool&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once you've &lt;a href="https://github.com/jsdelivr/globalping-cli#installation---quick-start" rel="noopener noreferrer"&gt;successfully installed the CLI tool&lt;/a&gt; on your system, it's ready for use. First, you may want to familiarize yourself with the Globalping ping command by running &lt;code&gt;help&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ globalping ping --help
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command provides a summary of the ping command, example usage, and a list of available flags that let you customize your measurement requests. If you look at the examples, you can see that a Globalping ping command follows this structure:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ globalping [command type] [target] from [location] [flags]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's write a simple measurement request using this structure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example scenario&lt;/strong&gt;: Run the ping command to jsdelivr.com from Vienna and Berlin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CLI command:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ globalping ping jsdelivr.com --from Vienna,Berlin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If not defined otherwise, Globalping sets the limit of probes to 1. So when executing this measurement request, the Globalping API randomly selects one online probe from Vienna or Berlin. If we had limited the number to 2, the API would have selected one probe in Berlin and one in Vienna. So, in our example, the API chose Vienna:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiiiu4og9bfgx70rwx1l1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiiiu4og9bfgx70rwx1l1.png" alt="ping test"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, let's look at a more advanced example using some of the available flags. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example scenario&lt;/strong&gt;: Run the ping command to jsdelivr.com from 10 random locations within AS3209 and Greece and retrieve the results in JSON format.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CLI command&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ globalping ping jsdelivr.com --from 3209,Greece --limit 10 --json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This returns the ping measurement results for ten probes as JSON, including the raw ping results in &lt;code&gt;result.rawOutput&lt;/code&gt; and other valuable data. &lt;a href="https://github.com/jsdelivr/globalping/tree/master/docs" rel="noopener noreferrer"&gt;Explore our API reference&lt;/a&gt; if you're curious about the JSON response object and its contents.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ykjitq1usm35row9879.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ykjitq1usm35row9879.png" alt="ping test json output"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Advanced tips
&lt;/h2&gt;

&lt;p&gt;Finally, we want to provide you with some advanced tips and ideas that can help you get the most out of Globalping:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Experiment with locations: Globalping allows you to specify various types of locations, and it will do its best to understand and select suitable probes. You can input countries (Greece), continents (Asia), cities (Warsaw), US states (Idaho), regions (South America), ASNs (3209 for Vodafone Germany), and even cloud region names (us-east-2).&lt;/li&gt;
&lt;li&gt;Use available flags: The CLI tool and Slack app offer flags that enable you to customize the results to suit your needs. We recommend you get to know all the options to avoid missing out on potential features that could simplify your workflow.&lt;/li&gt;
&lt;li&gt;Automate commands: For example, save time by running ping commands automatically with a bash script. Or, if a less tech-savvy team member wants to run a ping at a specific time, they can use the Globalping Slack app and S&lt;a href="https://slack.com/help/articles/201457107-Send-and-read-messages#send-or-schedule-messages" rel="noopener noreferrer"&gt;lack's message scheduling feature&lt;/a&gt; to plan to send the command.&lt;/li&gt;
&lt;li&gt;Build your own networking tools: Globalping is open-source and ready to incorporate into your projects. Whether you want to create custom network monitoring tools for your company or develop a helpful utility for yourself, the &lt;a href="https://github.com/jsdelivr/globalping" rel="noopener noreferrer"&gt;Globalping API&lt;/a&gt; provides the foundation for your creativity.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;We hope this guide could show you how to use Globalping to easily and quickly execute ping commands from anywhere worldwide. With several integrations, including the web tool on our website, the CLI tool, and the Slack app, Globalping caters to users with different levels of technical expertise. So whether you need to troubleshoot network issues or test server performance, we aim to give you the tools and flexibility you need with the platform.&lt;/p&gt;

&lt;p&gt;As an open-source project, Globalping thrives on community engagement and contributions. If you have feedback, encounter a bug, or wish to contribute by hosting a probe, please &lt;a href="https://github.com/jsdelivr#the-globalping-platform" rel="noopener noreferrer"&gt;visit our GitHub page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Why not give Globalping a try? Start with our &lt;a href="https://www.jsdelivr.com/globalping" rel="noopener noreferrer"&gt;web tool&lt;/a&gt; to get quick results at no cost.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>opensource</category>
      <category>api</category>
      <category>networking</category>
    </item>
    <item>
      <title>Globalping goes live! A community-powered global network testing platform</title>
      <dc:creator>Dmitriy A.</dc:creator>
      <pubDate>Mon, 29 May 2023 16:20:42 +0000</pubDate>
      <link>https://dev.to/globalping/globalping-goes-live-a-community-powered-global-network-testing-platform-1oi9</link>
      <guid>https://dev.to/globalping/globalping-goes-live-a-community-powered-global-network-testing-platform-1oi9</guid>
      <description>&lt;p&gt;We're happy to announce that our new open-source project, Globalping, is officially launched and available to everybody.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.jsdelivr.com/globalping"&gt;Test global latency&lt;/a&gt;, ping from any corner of the globe, troubleshoot routing issues, and even investigate censorship worldwide – all completely free. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Globalping platform
&lt;/h2&gt;

&lt;p&gt;Globalping is a robust platform with a vast network of hundreds (and soon thousands!) of probes running in different countries and cities worldwide. While most of these probes are Docker containers, we also offer &lt;a href="https://github.com/jsdelivr/globalping-probe#hardware-probes"&gt;hardware probes&lt;/a&gt; (mini ARM computers) to our valued donors and occasionally give them away for free.&lt;/p&gt;

&lt;p&gt;The probes are hosted by our users in their homes, offices and servers they control. Once a probe is online, it connects to the Globalping API, updates itself, and waits for events – all without user input. Rest assured that the probes don't allow incoming connections or open ports. They also don't require a dedicated IP address, so NAT users can still contribute.&lt;/p&gt;

&lt;p&gt;However, to prevent abuse, we have a limit of one probe per public IP.&lt;/p&gt;

&lt;p&gt;Thanks to this global network of probes, anyone can make measurement requests via the Globalping API. For example, to run a traceroute from ten European locations, the platform considers all online probes registered in Europe, issues the event to run a local traceroute to ten random probes, and reports the results in real time.&lt;/p&gt;

&lt;h2&gt;
  
  
  How can you use Globalping?
&lt;/h2&gt;

&lt;p&gt;If you're a developer looking to create tailored integrations and tools, the &lt;a href="https://github.com/jsdelivr/globalping"&gt;Globalping API&lt;/a&gt; is for you. For everyone else, we are working on a range of official integrations that focus on simplicity and usability – some of which are already available. Let's take a closer look at them!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Want to give Globalping a try? Check out the &lt;a href="https://www.jsdelivr.com/globalping"&gt;network web tools on our website&lt;/a&gt; to send your first network commands via the Globalping platform.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Globalping CLI
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MXOVM1Tz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uv8l996189bllrilztut.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MXOVM1Tz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uv8l996189bllrilztut.png" alt="Globalping CLI" width="800" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We've designed the &lt;a href="https://www.jsdelivr.com/globalping/cli"&gt;Globalping CLI&lt;/a&gt; tool to make running measurements and tests a breeze with effortless ways to script automated tests using bash.&lt;/p&gt;

&lt;p&gt;To get started, install the CLI tool on your machine: we support all major Linux distributions, MacOS via Homebrew and Windows via Chocolatey. Alternatively, you can download new versions directly from our GitHub page as binaries. (Still, we recommend using a package manager to ensure you get updates automatically.)&lt;/p&gt;

&lt;p&gt;After installation, you can use the CLI tool like any other of your regular local tools. Specify a network command and a location from which to run it, and you'll get a response instantly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ globalping ping jsdelivr.com from Germany
&amp;gt; EU, DE, Magdeburg, ASN:3209, Vodafone GmbH
PING  (172.67.213.229) 56(84) bytes of data.
64 bytes from 172.67.213.229 (172.67.213.229): icmp_seq=1 ttl=57 time=19.6 ms
64 bytes from 172.67.213.229 (172.67.213.229): icmp_seq=2 ttl=57 time=19.8 ms
64 bytes from 172.67.213.229 (172.67.213.229): icmp_seq=3 ttl=57 time=17.0 ms

---  ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 402ms
rtt min/avg/max/mdev = 17.049/18.791/19.774/1.235 ms
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also redirect the output to a file and even request the raw json output for easier parsing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Globalping Slack app
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QX2d82W5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xtrzrlxq98hj1rjdz3e4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QX2d82W5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xtrzrlxq98hj1rjdz3e4.png" alt="Globalping Slack" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Love the idea of Globalping, but wish it was more accessible to your less tech-savvy teammates? Wouldn't it be great to use it for collaboration within your team? We've got your back and have developed the official &lt;a href="https://www.jsdelivr.com/globalping/slack"&gt;Globalping Slack app&lt;/a&gt; to do just that!&lt;/p&gt;

&lt;p&gt;To get started, install the app in your Slack workspace and use the "/globalping" command or mention the bot "@globalping" to run a command. Then, the app responds by posting the results in the same channel or group chat. Since it utilizes the same user-friendly format as our CLI tool, the transition is seamless.&lt;/p&gt;

&lt;p&gt;With the ability to run tests in Slack threads by mentioning the bot, you can actively collaborate with your team in critical moments like outages or troubleshooting CDN routing issues.&lt;/p&gt;

&lt;p&gt;We believe this will make our Slack app an indispensable tool for network engineers, DevOps, and technical support teams!&lt;/p&gt;

&lt;h2&gt;
  
  
  Roadmap
&lt;/h2&gt;

&lt;p&gt;Today's launch marks only the beginning of Globalping's journey, and we have many new and exciting features in the works. Here are just a few of them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Probe management dashboard and additional limits for users running a probe&lt;/li&gt;
&lt;li&gt;API token management system&lt;/li&gt;
&lt;li&gt;Continuous monitoring of public Internet infrastructure including detailed CDN and DNS performance data&lt;/li&gt;
&lt;li&gt;Many, many more integrations and tools!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://github.com/jsdelivr#the-globalping-platform"&gt;Join us on Github&lt;/a&gt;, where we collectively contribute to making Globalping a powerful and user-friendly platform.&lt;/p&gt;

&lt;p&gt;We are super grateful for the support of our donors and contributors and look forward to a great time collaborating on making the Internet faster for everyone!&lt;/p&gt;

</description>
      <category>devops</category>
      <category>networking</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
