0
点赞
收藏
分享

微信扫一扫

ELK 单机ES 生产环境 elasticsearch 7.6.2 +filebeat+logstast+kibana配置文件汇总

拓扑

ELK 单机ES 生产环境 elasticsearch 7.6.2 +filebeat+logstast+kibana配置文件汇总_nginx

版本elasticsearch7.6.2

具体安装教程在本人ELK 其他博文中

这个教程是安装好以后的配置文件内容

1.ES单机的配置(拓扑中的 10.10.201.80)

elasticsearch安装完成后 修改elasticsearch.yml 

直接最后一行起 复制如下 保存 其他都不需要改

[root@localhost es-bak]# grep -Ev '#|^$' elasticsearch.yml 
配置如下

#让所有主机都可以访问设置成0.0.0.0
network.host: 0.0.0.0
##集群发现配置 提供集群中符合主机要求的节点列表 单节点设置为本机IP
discovery.seed_hosts: ["10.10.201.80"]
##指定所有可以成为master的主机列表,name或者IP 这些配置会在第一次选举中进行
计算 单节点设置为本机IP
cluster.initial_master_nodes: ["10.10.201.80"]

  1. 以下是elasticsearch
    的注意事项及启动服务命令

1.添加用户组
groupadd es
2. 添加用户es到es组里
useradd es -g es
3.更改安装的elasticsearch目录权限为所有者与所有者组为es
chown -Rf es:es /usr/local/es/

使用新建立的用户启动服务(必须)
1.切换用户es
su es
2.进入目录
cd /usr/local/es/elasticsearch-7.6.2/bin/
启动服务
./elasticsearch 前台运行
./elasticsearch -d 后台运行

  1. 2.filebeat (拓扑中的 10.10.201.83)

安装好filebeat 只需要设置如下的

1.日志的路径

2.fields log_typ设置索引名称规则 

3.#设置输出到logstarh

保存 其他都不需要改

[root@localhost es-bak]# grep -Ev '#|^$' filebeat.yml 
filebeat.inputs:
- type: log
enabled: true
#下面设置日志的路径
paths:
- /usr/local/nginx/logs/*.log
#下面的fields log_typ设置索引名称规则
fields:
log_type: "nginx-log-201-83"
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.settings:
index.number_of_shards: 1
setup.kibana:
#设置输出到logstarh
output.logstash:
hosts: ["10.10.201.81:5044"]
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
- add_docker_metadata: ~
- add_kubernetes_metadata: ~


  1. 启动filebeat服务的命令(RPM安装的)

说明:rpm安装的路径为以下和tar 安装路径不一样
启动文件
/usr/share/filebeat/bin/filebeat
主配置文件目录
/etc/filebeat/filebeat.yml

3.启动服务
systemctl start filebeat
4.重启动服务
systemctl restart filebeat
5.查看服务
systemctl status filebeat
6.开机自启动
systemctl enable filebeat
7. 查看所有服务状态
systemctl list-unit-files --type=service

  1. 3.logstsh(拓扑中的 10.10.201.81)

安装好logstash

vim logstash.conf

如下配置全部覆盖 按自己的服务器IP信息修改

[root@localhost es-bak]# grep -Ev '#|^$' logstash.conf

#设置由filebeat输入
input {
beats {
port => 5044
}
}


#output {
# stdout { codec => rubydebug }
#}

#配置使用JSON方式处理NGINX日志
filter {
json {
source => "message"
skip_on_invalid_json => "true"
}

#配置NGINX日志中的客户端IP地址 显示城市和国家名
geoip {
source => "client"
fields => ["city_name", "country_code2", "country_name", "latitude", "longitude", "region_name"]
remove_field => ["[geoip][latitude]", "[geoip][longitude]"]
}
mutate {
split => [ "upstreamtime", "," ]
}
mutate {
convert => [ "upstreamtime", "float" ]
}

#配置显示客户端设备的名称 windows还是mac还是手机
useragent {
source => "http_user_agent"
target => "os_agent"
}

}

#配置输出到elasticsearch的地址 并按我的要求设置索引28服务器是nginx-log-201-28索引名
#29服务器是nginx-log-201-29索引名
#83服务器是nginx-log-201-83索引名
#实现以上功能 filebeat需要按教程上面的filebeat设置fields 和 log_typ 配合使用
output {
if [fields][log_type] == "nginx-log-201-83" {
elasticsearch {
hosts => ["10.10.201.80:9200"]
index => "nginx-log-201-83-%{+yyyy.MM.dd}"
}
}
if [fields][log_type] == "nginx-log-201-28" {
elasticsearch {
hosts => ["10.10.201.80:9200"]
index => "nginx-log-201-28-%{+yyyy.MM.dd}"
}
}
if [fields][log_type] == "nginx-log-201-29" {
elasticsearch {
hosts => ["10.10.201.80:9200"]
index => "nginx-log-201-29-%{+yyyy.MM.dd}"
}
}
}

启动logstash命令

启动服务
[root@localhost logstash-7.4.2]# ./bin/logstash -f ./config/logstash.conf
显示如下 成功
Successfully started Logstash API endpoint {:port=>9600}

启动服务并自动刷新
[root@localhost logstash-7.4.2]# ./bin/logstash -f ./config/logstash.conf --config.reload.automatic
后台启动
[root@localhost logstash-7.9.2]# nohup ./bin/logstash -f ./config/logstash.conf &

4.kibana  (拓扑中的 10.10.201.82)

安装好kibana 直接最后一行复制如下

按自己服务器的IP信息更改

[root@localhost es-bak]# grep -Ev '#|^$' kibana.yml 
#设置容许所有IP 访问此kibana
server.host: 0.0.0.0
#设置ES的服务器地址
elasticsearch.hosts: ["http://10.10.201.80:9200"]
#设置中文 注释#的话 是英文
i18n.locale: "zh-CN"

启动kibana服务命令

5.启动服务
进入目录
cd /usr/local/kibana/kibana-7.6.2-linux-x86_64/bin
启动服务
./kibana --allow-root
完成





举报

相关推荐

0 条评论