


How to use Elasticsearch in Linux for log analysis and search
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.
- 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
- 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
- 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
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 } }
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.
- 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"
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.*" } } }
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











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.

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.

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 →

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.

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.

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.

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)

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)
