집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >로그 분석 및 검색을 위해 Linux에서 Elasticsearch를 사용하는 방법
오늘날의 인터넷 시대에 우리는 특히 서버와 애플리케이션에서 엄청난 양의 데이터에 직면해 있습니다. 로그는 이 데이터를 관리하고 애플리케이션과 서버에 무슨 일이 일어나고 있는지 더 잘 이해하는 데 도움이 되는 필수적인 방법입니다. Elasticsearch는 로그 집계, 분석, 검색을 위한 널리 사용되는 도구로 높은 확장성과 적응성을 갖추고 있어 데이터 처리 및 로그 분석 분야의 선두주자입니다. 이번 글에서는 로그 분석 및 검색을 위해 Linux에서 Elasticsearch를 사용하는 방법을 알아봅니다.
Elasticsearch를 설치하는 가장 쉬운 방법은 공개 소스에서 Elasticsearch 저장소를 추가한 다음 Elasticsearch를 설치하는 것입니다. 소스를 추가하는 방법은 사용 중인 Linux 배포판에 따라 다릅니다. Ubuntu에서는 다음 명령을 사용할 수 있습니다.
$ 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
기본적으로 Elasticsearch는 localhost의 포트 9200 및 9300에서 수신 대기하지만 이 구성을 변경할 수 있습니다. Elasticsearch에서 구성 파일은 /etc/elasticsearch/elasticsearch.yml
에 있습니다. 이 파일에서는 클러스터 이름, 노드 이름, 수신 주소 및 클러스터 검색과 같은 설정을 구성할 수 있습니다. /etc/elasticsearch/elasticsearch.yml
中。 在此文件中,您可以配置群集名称、节点名称、监听地址和群集发现等设置。
举一个例子,以下是一个简单的 Elasticsearch 配置文件:
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
有两种方法将日志数据导入到 Elasticsearch 中:手动导入和使用 Logstash。 在本文中,我们将使用 Logstash 方式进行日志的导入。
安装 Logstash 的最简单方法是使用公共源。 假设您在 Ubuntu 系统上运行 Elasticsearch,您可以使用以下命令安装 Logstash:
$ 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
安装完成后,在/etc/logstash/conf.d
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 } }
Logstash를 설치하는 가장 쉬운 방법은 공개 소스를 사용하는 것입니다. Ubuntu 시스템에서 Elasticsearch를 실행하고 있다고 가정하면 다음 명령을 사용하여 Logstash를 설치할 수 있습니다.
curl -X GET "localhost:9200/_search?q=message:error OR message:exception&filter_path=hits.hits._source"
설치가 완료된 후 다음을 사용하여 /etc/logstash/conf.d
디렉터리에 파일을 생성합니다. 가져올 로그 데이터를 처리하는 방법을 정의하는 이름 및 ".conf ” 확장자. 다음은 간단한 구성 파일 예시입니다.
{ "query": { "regexp": { "message": "WARN.*" } } }
구성 파일에는 읽어올 로그 파일의 경로, 현재 로그의 시작 위치, 이미 가져온 로그 파일을 필터링에 사용하지 않는다는 설정 등을 지정합니다. 동시에 Grok을 사용하여 데이터 필터링을 정의하고 날짜 형식을 설정하고 클라이언트 IP 주소를 구문 분석하고 결과를 Elasticsearch로 출력했습니다.
로그 검색 및 분석로그 데이터를 Elasticsearch로 가져온 후에는 Elasticsearch의 쿼리 및 집계 기능을 사용하여 데이터를 검색하고 분석할 수 있습니다. Elasticsearch의 REST API는 컬, Postman 또는 기타 REST 클라이언트를 사용하여 호출할 수 있는 다양한 쿼리 및 집계 도구를 제공합니다.
🎜다음은 시간 범위 내에서 "오류" 또는 "예외"로 시작하는 모든 로그 항목을 검색하는 기본 검색 쿼리의 예입니다. 🎜rrreee🎜예를 들어 고급 검색 결과를 쿼리하는 경우 특정 필드 또는 정규식 사용 표현식으로 결과를 필터링하려면 Elasticsearch의 자체 쿼리 언어인 Query DSL을 사용할 수 있습니다. 다음은 고급 검색 쿼리의 예입니다. 🎜rrreee🎜 쿼리 정규식 " WARN.* "은 모든 로그 메시지에서 " WARN "으로 시작하는 메시지를 검색합니다. 🎜🎜결론🎜🎜이 기사에서는 로그 분석 및 검색을 위해 Linux에서 Elasticsearch를 사용하는 방법에 대한 개요를 얻었습니다. 우리는 Elasticsearch가 대량의 로그 데이터를 처리하고 분석하는 데 도움이 될 수 있는 강력한 도구라는 것을 배웠습니다. 이는 문제를 해결하고 잠재적인 문제를 감지하거나 단순히 애플리케이션과 서버에서 발생하는 상황을 이해할 때 매우 유용할 수 있습니다. 🎜위 내용은 로그 분석 및 검색을 위해 Linux에서 Elasticsearch를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!