四大组件Elasticsearch(核心)、logstash(处理)、filebeat(采集)、kibana(可视化)
下载均在https://www.elastic.co/cn/downloads/下tar包,配合fdm会快一点点
注意:“如若后续用到sentinl(开源监控警报插件,可webhook接钉钉等),ELK的组件版本应选择与sentinl版本一致,sentinl版本比ELK组件更新慢”
我的杯具:Plugin sentinl [7.6.1] is incompatible with Kibana [7.9.0]
零、环境
linux mint19
自带open jdk 11
一、配置
主目录创建itcast,然后分配权限,本机使用user0
chown user0:user0 -R /itcast
本机配置:tar包全解压至 /itcast/ 修改以下配置文件(注意Tab距离以默认文件为主)
1、elasticsearch相关:
/itcast/(elasticsearch解压目录)/config/elasticsearch.yml
# 集群名称,默认是elasticsearchcluster.name: my-application# 节点名称node.name:node-1# 配置IP端口network.host:192.168.199.224http.port: 9200# 可以指定es的数据存储目录,默认存储在es_home/data目录下# path.data: /path/to/data# 可以指定es的日志存储目录,默认存储在es_home/logs目录下# path.logs: /path/to/logs# 子集群节点,用的上述设置的名称discovery.seed_hosts:[node-1]# !!通过配置这个参数来防止集群脑裂现象 (集群总节点数量/2)+1discovery.zen.minimum_master_nodes= ( master候选节点数量/2+1 )
2、logstash相关:
/itcast/(logstash解压目录)/logstash.conf (根据sample-config修改)
input { beats { port => 5044 }}filter { # 重要功能,对日志处理均在此步,按需自行搜索 mutate { split => {"message" => "|"} } mutate { add_field => { "Date" => "%{[message][0]}" # 坑点!!!新版本中%{}里字段如message需要加上中括号[]作为识别 "Level" => "%{[message][1]}" "result" => "%{[message][2]}" } } mutate { convert => { "Date" => "string" "Leverl" => "string" "result" => "string" } }}output { elasticsearch { hosts => ["http://192.168.199.224:9200"] index => "logstash-%{+YYYY.MM.dd}" }}
3、filebeat相关:
/itcast/(filebeat解压目录)/filebeat.yml
filebeat.inputs: - type: log enabled: true paths: #目标.........