I’ll show how to install OpenResty XRay’s Agent services on CentOS via RPM packages.

Logging in to the Console

Let’s log in.

Screenshot

Enter your account name.

Screenshot

Type in the password.

Screenshot

Click on “Sign in”.

Screenshot

Click on “Go to console”.

Screenshot

It’ll take you to the guide for the Agent installation.

Installing the Agent via RPM Packages

Let me show you how to install via the RPM packages.

Screenshot

First, choose the operating system. It’s CentOS in this case.

Screenshot

Select the “CentOS” version as the operating system.

Screenshot

Choose the “Network installation”.

Screenshot

Make sure your machine can access the internet.

Screenshot

If your curl command is not available, you can install it with this command.

Screenshot

You can also upgrade the ca-certificates package to the latest version with this command.

Screenshot

This is the agent installation command.

Screenshot

Click this icon to copy the command.

Screenshot

On the terminal, paste what we just copied. Run this command to install the agent.

Screenshot

This can take a bit depending on your network latency. Please be patient.

Screenshot

The installation command completed successfully.

Screenshot

Checking the Agent Status and Logs

Let’s go back to the console. This command can check the status of the Agent service.

Screenshot

Click to copy.

Screenshot

Paste and execute this command to check the status.

Screenshot

We can see it’s running normally.

Screenshot

We can also check error log messages with this command.

Screenshot

Let’s copy it.

Screenshot

Paste and run this command to check the error logs.

Screenshot

Great! No error messages at all!

Screenshot

Configuring and Detecting Applications

Let’s go back to the wizard page.

This allows you to configure whether the current machine is in a production environment. The system tries to minimize performance impact to production environments for analyses. But it may also take longer to get results.

Screenshot

Let’s detect running applications.

Screenshot

These are the applications automatically detected.

Screenshot

If you need to add new application to detect, you can customize the configuration.

Screenshot

You can type in the new application name.

Screenshot

Select the type of application.

Screenshot

You can select the process corresponding to the new application from the list in here.

Screenshot

Initiating Analyzers and Viewing Insights

Click to initiate analyzers.

Screenshot

The analyzers just started running.

Screenshot

Click on “Traffic and Load”.

Screenshot

The system has detected there’s sufficient traffic and load on the machine. It can only conduct meaningful analysis when the target application has traffic and load.

Screenshot

Let’s enter the console dashboard.

Screenshot

Go to the “Insights” page.

Screenshot

Wait for the first analysis report since the agent was just installed.

Screenshot

You can watch the progress in real-time.

Screenshot

Go to the “Dashboard” page.

Screenshot

Here we can see some graphical charts and diagrams of the applications.

Screenshot

We can see various different kinds of flame graphs for the Go application.

Screenshot

Flame graphs for the OpenResty application.

Screenshot

Flame graphs for the Python application.

Screenshot

Install Another Agent

To install another Agent, just click here.

Screenshot

It’s still the same step as we did earlier, to install the Agent on CentOS using the RPM packages.

Screenshot

If you need to install on other operating systems, or use installation methods like containers. Just click here.

Screenshot

We’re back to the wizard page we saw previously. Where we can choose different installation options or operating systems.

Screenshot

What is OpenResty XRay

OpenResty XRay is a dynamic-tracing product that automatically analyzes your running applications to troubleshoot performance problems, behavioral issues, and security vulnerabilities with actionable suggestions. Under the hood, OpenResty XRay is powered by our Y language targeting various runtimes like Stap+, eBPF+, GDB, and ODB, depending on the contexts.

If you like this tutorial, please subscribe to this blog site and/or our YouTube channel. Thank you!

About The Author

Yichun Zhang (Github handle: agentzh), is the original creator of the OpenResty® open-source project and the CEO of OpenResty Inc..

Yichun is one of the earliest advocates and leaders of “open-source technology”. He worked at many internationally renowned tech companies, such as Cloudflare, Yahoo!. He is a pioneer of “edge computing”, “dynamic tracing” and “machine coding”, with over 22 years of programming and 16 years of open source experience. Yichun is well-known in the open-source space as the project leader of OpenResty®, adopted by more than 40 million global website domains.

OpenResty Inc., the enterprise software start-up founded by Yichun in 2017, has customers from some of the biggest companies in the world. Its flagship product, OpenResty XRay, is a non-invasive profiling and troubleshooting tool that significantly enhances and utilizes dynamic tracing technology. And its OpenResty Edge product is a powerful distributed traffic management and private CDN software product.

As an avid open-source contributor, Yichun has contributed more than a million lines of code to numerous open-source projects, including Linux kernel, Nginx, LuaJIT, GDB, SystemTap, LLVM, Perl, etc. He has also authored more than 60 open-source software libraries.