Home Operation and Maintenance Linux Operation and Maintenance How to use Elasticsearch in Linux for log analysis and search

How to use Elasticsearch in Linux for log analysis and search

Jun 18, 2023 am 09:01 AM
linux elasticsearch Log analysis

In today's Internet era, we are faced with a huge amount of data, especially in servers and applications. Logs are an essential way to manage this data and help us better understand what is happening to our applications and servers. Elasticsearch is a popular tool for log aggregation, analysis, and search. Its high scalability and adaptability make it a leader in data processing and log analysis. In this article, we will learn how to use Elasticsearch in Linux for log analysis and search.

  1. Installing Elasticsearch

The easiest way to install Elasticsearch is to add the Elasticsearch repository from the public source and then install Elasticsearch. How you add sources depends on the Linux distribution you are using. In Ubuntu, you can use the following command:

$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
$ sudo apt-get install apt-transport-https
$ echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
$ sudo apt-get update && sudo apt-get install elasticsearch
Copy after login
  1. Configure Elasticsearch

By default, Elasticsearch listens on ports 9200 and 9300 on localhost, but you can change this configuration. In Elasticsearch, the configuration file is located in /etc/elasticsearch/elasticsearch.yml. In this file, you can configure settings such as cluster name, node name, listening address, and cluster discovery.

As an example, the following is a simple Elasticsearch configuration file:

cluster.name: my_cluster_name
node.name: my_node_name
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 127.0.0.1
http.port: 9200
Copy after login
  1. Import log files

There are two ways to import log data into In Elasticsearch: Manually import and use Logstash. In this article, we will use Logstash to import logs.

The easiest way to install Logstash is to use the public source. Assuming you are running Elasticsearch on an Ubuntu system, you can install Logstash using the following command:

$ echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
$ sudo apt-get update && sudo apt-get install logstash
Copy after login

After the installation is complete, create a file in the /etc/logstash/conf.d directory with the name and " .conf" extension that will define how to handle the log data to be imported. The following is a simple configuration file example:

input {
    file {
        path => "/var/log/myapp.log"
        start_position => "beginning"
        sincedb_path => "/dev/null"
    }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }

  date {
    match => [ "timestamp", "dd/MMM/YYYY:HH:mm:ss Z" ]
  }

  geoip {
    source => "clientip"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
  }
  stdout { codec => rubydebug }
}
Copy after login

In the configuration file, we specify the path of the log file to be read, the starting position of the current log and the setting of not using the imported log file for filtering. At the same time, we defined data filtering using Grok, set up the date format, parsed the client IP address, and output the results to Elasticsearch.

  1. Search and analyze logs

Once you have imported your log data into Elasticsearch, you can use Elasticsearch's query and aggregation capabilities to search and analyze the data. Elasticsearch's REST API provides a variety of query and aggregation tools that can be called using curl, Postman, or any other REST client.

The following is an example of a basic search query that will search for all log entries starting with "error" or "exception" within a time range:

curl -X GET "localhost:9200/_search?q=message:error OR message:exception&filter_path=hits.hits._source"
Copy after login

If you query for more advanced search results, For example, to search for a specific field or to filter results using regular expressions, you can use Elasticsearch's own query language, the Query DSL. Here is an example of a more advanced search query:

{
  "query": {
    "regexp": {
      "message": "WARN.*"
    }
  }
}
Copy after login

The query regular expression " WARN.* " will search all log messages for messages starting with " WARN ".

Conclusion

In this article, we got an overview of how to use Elasticsearch in Linux for log analysis and search. We learned that Elasticsearch is a powerful tool that can help us process and analyze large amounts of log data, which can be very useful when troubleshooting problems, detecting potential problems, or simply understanding what is happening on our applications and servers.

The above is the detailed content of How to use Elasticsearch in Linux for log analysis and search. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1665
14
PHP Tutorial
1270
29
C# Tutorial
1250
24
Linux Architecture: Unveiling the 5 Basic Components Linux Architecture: Unveiling the 5 Basic Components Apr 20, 2025 am 12:04 AM

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

How to check the warehouse address of git How to check the warehouse address of git Apr 17, 2025 pm 01:54 PM

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

vscode Previous Next Shortcut Key vscode Previous Next Shortcut Key Apr 15, 2025 pm 10:51 PM

VS Code One-step/Next step shortcut key usage: One-step (backward): Windows/Linux: Ctrl ←; macOS: Cmd ←Next step (forward): Windows/Linux: Ctrl →; macOS: Cmd →

How to run java code in notepad How to run java code in notepad Apr 16, 2025 pm 07:39 PM

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

How to run sublime after writing the code How to run sublime after writing the code Apr 16, 2025 am 08:51 AM

There are six ways to run code in Sublime: through hotkeys, menus, build systems, command lines, set default build systems, and custom build commands, and run individual files/projects by right-clicking on projects/files. The build system availability depends on the installation of Sublime Text.

What is the main purpose of Linux? What is the main purpose of Linux? Apr 16, 2025 am 12:19 AM

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

laravel installation code laravel installation code Apr 18, 2025 pm 12:30 PM

To install Laravel, follow these steps in sequence: Install Composer (for macOS/Linux and Windows) Install Laravel Installer Create a new project Start Service Access Application (URL: http://127.0.0.1:8000) Set up the database connection (if required)

git software installation git software installation Apr 17, 2025 am 11:57 AM

Installing Git software includes the following steps: Download the installation package and run the installation package to verify the installation configuration Git installation Git Bash (Windows only)

See all articles