一.ELK安裝
? ?? https://www.elastic.co/downloads/elasticsearch?下載版本 elasticsearch-7.6.0-linux-x86_64.tar.gz
? ? 官方文檔?https://www.elastic.co/guide/cn/elasticsearch/guide/
2.tar zxvf elasticsearch-7.6.0-linux-x86_64.tar.gz?
3.配置elk集群
# 創(chuàng)建用戶
添加用戶: useradd -m 用戶名
設(shè)置密碼: passwd 用戶名
刪除用戶: userdel -r 用戶名
查看用戶:id? 用戶名
將用戶加入root組:gpasswd -a 用戶名 root
將用戶移除root組:gpasswd -d 用戶名 root
?# 為該用戶賦予相關(guān)操作權(quán)限 chown -R elklog:elklog /data/elk/elasticsearch-7.6.0
# 修改安裝目錄名稱mv elasticsearch-7.6.0 es_cluster_farm_log01
->修改配置elasticsearch.yml
cluster.name: ?es_cluster_farm_log
node.name: es_cluster_farm_log01
path.data: /data/elk/data
path.logs: /data/elk/logs
network.host: 0.0.0.0
注意 這里的network.host 必須設(shè)置0.0.0.0 否在會(huì)報(bào)錯(cuò)
http.port: 4200
discovery.seed_hosts: ["47.112.142.98"]
cluster.initial_master_nodes: ["es_cluster_farm_log01", "es_cluster_farm_log02"]
gateway.recover_after_nodes: 1
action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"
node-master:true
node.data:true
->grep -v "#" elasticsearch.yml 查詢修改結(jié)果
->修改配置?jvm.options
?vi jvm.options
-xms128m
-xmx128
注意 這里的連個(gè)xms xmx 必須設(shè)置一樣的大小 否則回報(bào)錯(cuò)
-> 啟動(dòng)?elasticsearch?
bin/elasticsearch?-d
-> 查看當(dāng)前els進(jìn)程 ps aux | grep elasticsearch
-> 查看端口占用 netstat -anp |grep 4200
1.啟動(dòng)報(bào)錯(cuò):
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解決辦法:
1谢肾、切換到root用戶修改配置sysctl.conf
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=6553601
并執(zhí)行命令:
sysctl -p
然后喊儡,重新啟動(dòng)elasticsearch镐确,即可啟動(dòng)成功对室。
2. Elk 數(shù)據(jù) @timestamp 時(shí)間 時(shí)區(qū)差 8 小時(shí)
解決方案
https://segmentfault.com/a/1190000019911946
-> ELK數(shù)據(jù)備份設(shè)置
參考文檔:
https://www.elastic.co/guide/cn/elasticsearch/guide/current/backing-up-your-cluster.html
多節(jié)點(diǎn)配置修改 elasticsearch.yml
path.repo:? /data/elk/backup
PUT _snapshot/backup
{
? "type": "fs",
? "settings": {
? ? ? "location": "/data/elk/backup"
? }
}
{
? "acknowledged" : true
}
????
二.elasticsearch-head安裝 工具安裝
-> 谷歌擴(kuò)展工具安裝??elasticsearch-head 添加到擴(kuò)展程序
啟動(dòng)時(shí)注意開放端口,否則訪問不成功玩敏。
中文api https://es.xiaoleilu.com/010_Intro/15_API.html
三.filebeat 安裝使用
->官網(wǎng)下載地址??
https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-installation.html
配置說明 filebeat.xml
#==================== Elasticsearch template setting ==========================
setup.template.settings:
? index.number_of_shards: 1
? #index.codec: best_compression
? #_source.enabled: false
#模板的名稱锤悄,默認(rèn)是filebeat,filebeat版本始終附加到給定名稱驼侠,因此最終名稱為filebeat-%{[beat.version]}?
setup.template.name: "filebeat"?
#要應(yīng)用于默認(rèn)索引設(shè)置的模板模式。默認(rèn)模式是filebeat-%谆吴。filebeat版本始終包含在模式中倒源,因此最終模式是 filebeat-%{[beat.version]}-*。通配符 -* 用于匹配所有每日索引
setup.template.pattern: "filebeat-*"
#描述字段的YAML文件的路徑句狼,默認(rèn)是fields.yml笋熬。如果設(shè)置了相對(duì)路徑,則認(rèn)為它相對(duì)于配置路徑腻菇。
setup.template.fields: "fields.yml"
#一個(gè)布爾值胳螟,指定是否覆蓋現(xiàn)有模板。默認(rèn)值是false筹吐,true是覆蓋現(xiàn)有模板
setup.template.overwrite: false
#設(shè)置為false以禁用模板加載糖耸,如果將此項(xiàng)設(shè)置為false,則必須手動(dòng)加載模板骏令。
setup.template.enabled: true
啟動(dòng) ?./filebeat -e -c filebeat.yml
if "buildActivityItem" in [message]{
grok {
match => {
"message" => "(?<ItemChangeLog>(?<=info : )(.*)/?)"
}
? }
? ? ? ? }
logstash 安裝
/logstash/config/logstash.yml:主要用于控制logstash運(yùn)行時(shí)的狀態(tài)
/logstash/config/startup.options:logstash 運(yùn)行相關(guān)參數(shù)
參數(shù)用途默認(rèn)值
node.name節(jié)點(diǎn)名稱主機(jī)名稱
path.data/數(shù)據(jù)存儲(chǔ)路徑LOGSTASH_HOME/data/
pipeline.workers輸出通道的工作workers數(shù)據(jù)量(提升輸出效率)cpu核數(shù)
pipeline.output.workers每個(gè)輸出插件的工作wokers數(shù)量1
pipeline.batch.size每次input數(shù)量125
path.config過濾配置文件目錄
config.reload.automatic自動(dòng)重新加載被修改配置falseortrue
config.reload.interval配置文件檢查時(shí)間
path.logs日志輸出路徑
http.host綁定主機(jī)地址蔬捷,用戶指標(biāo)收集“127.0.0.1”
http.port綁定端口5000-9700
log.level日志輸出級(jí)別,如果config.debug開啟,這里一定要是debug日志info
log.format日志格式* plain*
path.plugins自定義插件目錄
參數(shù)用途
JAVACMD=/usr/bin/java本地jdk
LS_HOME=/opt/logstashlogstash所在目錄
LS_SETTINGS_DIR="${LS_HOME}/config"默認(rèn)logstash配置文件目錄
LS_OPTS="–path.settings ${LS_SETTINGS_DIR}"logstash啟動(dòng)命令參數(shù) 指定配置文件目錄
LS_JAVA_OPTS=""指定jdk目錄
LS_PIDFILE=/var/run/logstash.pidlogstash.pid所在目錄
LS_USER=logstashlogstash啟動(dòng)用戶
LS_GROUP=logstashlogstash啟動(dòng)組
LS_GC_LOG_FILE=/var/log/logstash/gc.loglogstash jvm gc日志路徑
LS_OPEN_FILES=65534logstash最多打開監(jiān)控文件數(shù)量
啟動(dòng) ?bin/logstash -f config/logstash.conf?
logstash 日志過濾
https://segmentfault.com/a/1190000018642947
#grok
https://blog.csdn.net/qq_39211866/article/details/84453004
printLootLog
ttp://grokdebug.herokuapp.com/?
語法鏈接
https://blog.csdn.net/cai750415222/article/details/86614854
http://www.ttlsa.com/elk/elk-logstash-configuration-syntax/
.*$任意匹配直到結(jié)尾
grok正則表達(dá)式:(?<temMsg>(.*)(?=>Report)/?) 獲取Report之前的字符
grok正則表達(dá)式:(?<temMsg>(?<=Report)(.*)/?) 獲取Report之后的字符
grok{
????????match => {
????????#截取<Report>之前的字符作為temMsg字段的值
????????"message" => "(?<temMsg>(.*)(?=Report)/?)"
????????}
}
————————————————
版權(quán)聲明:本文為CSDN博主「cai750415222」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議周拐,轉(zhuǎn)載請附上原文出處鏈接及本聲明铡俐。
原文鏈接:https://blog.csdn.net/cai750415222/article/details/86614854
[2020-03-03 15:10:09.419] [Handler-4] INFO info : ItemChangeLog|2020-03-03 15:10:09|100004|35|11|農(nóng)場收獲(農(nóng)田)|[4]|100002#82#80
[2020-03-03 15:10:09.419] [Handler-4] INFO? info : ExpChangeLog|2020-03-03 15:10:09|100004|35|29894|1|11|農(nóng)場收獲(農(nóng)田)|[4]
[2020-03-03 15:08:01.107] [Handler-4] INFO info : ItemChangeLog|2020-03-03 15:08:01|100004|35|12|農(nóng)場種植||110001#92#93
liunx yum 安裝 jdk
參考文檔 https://segmentfault.com/a/1190000015389941
yum search java
yum install java-1.8.0-openjdk-devel.x86_64
curl -XGET ‘http://127.0.0.1:9200/_template/logstash
查看java路徑 whereis java
打印java路徑 echo $JAVA_HOME
全局變量立即生效 source /etc/profile
查看端口占用 lsof -i:5601
Kibana?
中文官方文檔 https://www.elastic.co/guide/cn/kibana/current/settings.html
查看未注釋配置
grep -Ev '^[#;]|^$' config/kibana.yml
-> kibana Discover 數(shù)據(jù)展示 時(shí)間時(shí)區(qū)差8小時(shí)?
解決方案:setting ->? General ->?Timezone for date formatting -> dateFormat:tz? 設(shè)置對(duì)應(yīng)的時(shí)區(qū)
參考文檔
https://www.infvie.com/ops-notes/elkstack-beats.html
配置管理工具? Puppet,Chef妥粟,Ansible?