-
ES集群测试
- 验证
1.ES集群测试
1.1配置步骤
确保Elasticsearch集群可用
(一)Logstash配置
# vim /usr/local/logstash/config/pipeline-1.conf
input {
beats {
port => 5044
}
}filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
remove_field => [ "message" ]
}
geoip {
source => "clientip"
}
}output {
stdout {
codec => rubydebug
}elasticsearch { #原来基础上添加此配置
# 这里是输出到 elasticsearch 集群中
hosts => ["192.168.19.20:9200","192.168.19.21:9200","192.168.19.22:9200"]
}
}
1.2 启动 Logstash
假如没有启动,或者没有自动加载配置文件,需要重新启动
/usr/local/logstash/bin/logstash -f /usr/local/logstash/config/pipeline-1.conf
1.3 启动 Filebeat
配置Filebeat输出数据到logstash,假如没有启动,需要重新启动
nohup ./filebeat &
或者
cd /usr/local/filebeat/
./filebeat
2. 验证
2.1 持续向日志文件中输入日志内容
持续向测试的日志文件产生日志
2.2 查看 Logstash 的终端
应有相应的输出,如果logstash用nohup启动到后台的,则查看nohup.out文件
2.3 验证Elasticsearch是否创建了索引
# curl -X GET "192.168.19.20:9200/_cat/indices"
logstash-2023.02.23-000001
是Elasticsearch 自动创建的索引。
2.4 创建自己需要的索引
从之前的查询中知道,索引是 Elasticsearch 是自动创建的,但是,这往往不是生产中想要的。
比较好的一个建议是:
把访问日志
access.log
中的内容单独放到一个索引中。把错误日志
error.log
中的内容单独放到另外一个索引中。1 更新配置文件
logstash未使用 Filebeat 内置模块的情况 :
# vim /usr/local/logstash/config/first-pipeline.conf
input {
beats {
port => 5044
}
}filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
remove_field => [ "message" ]
}
geoip {
source => "clientip"
}
}
output {
stdout {
codec => rubydebug
}if [log][file][path] == "/var/log/nginx/access.log" {
elasticsearch {
hosts => ["192.168.19.20:9200","192.168.19.21:9200","192.168.19.22:9200"]
index => "%{[host][hostname]}-nginx-access-%{+YYYY.MM.dd}"
}
} else if [log][file][path] == "/var/log/nginx/error.log" {
elasticsearch {
hosts => ["192.168.19.20:9200","192.168.19.21:9200","192.168.19.22:9200"]
index => "%{[host][hostname]}-nginx-error-%{+YYYY.MM.dd}"
}
}
}logstash或者使用 Filebeat 内置模块的情况 :
input {
beats {
port => 5044
}
}filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
remove_field => [ "message" ]
}
geoip {
source => "clientip"
}
}output {
stdout {
codec => rubydebug
}
if [event][dataset] == "nginx.access" {
elasticsearch {
# 这里是输出到 elasticsearch 集群中
hosts => ["192.168.19.20:9200","192.168.19.21:9200","192.168.19.22:9200"]
# 创建索引,索引好比是MySQL 数据库中的表名称
index => "%{[host][hostname]}-nginx-access-%{+YYYY.MM.dd}"
}
} else if [event][dataset] == "nginx.error" {
elasticsearch {
# 这里是输出到 elasticsearch 集群中
hosts => ["192.168.19.20:9200","192.168.19.21:9200","192.168.19.22:9200"]# 创建索引,索引好比是MySQL 数据库中的表名称
index => "%{[host][hostname]}-nginx-error-%{+YYYY.MM.dd}"
}
}
}
#注意打开filebeat中的proccesser功能添加主机信息2 添加新的日志内容到相关日志文件
分别向测试的日志文件中添加新的日志内容
向 /var/log/nginx/access.log 添加内容
3 验证 Elasticsearch 集群中的索引
logstash-2023.02.23-000001 是原来的
client-log-access-2023.02.23 是新建立的。