一.ELK安装
1.官网下载地址
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集群
# 创建用户
添加用户: useradd -m 用户名
设置密码: passwd 用户名
删除用户: userdel -r 用户名
查看用户:id 用户名
将用户加入root组:gpasswd -a 用户名 root
将用户移除root组:gpasswd -d 用户名 root
# 为该用户赋予相关操作权限 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 必须设置0.0.0.0 否在会报错
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 查询修改结果
->修改配置 jvm.options
vi jvm.options
-xms128m
-xmx128
注意 这里的连个xms xmx 必须设置一样的大小 否则回报错
-> 启动 elasticsearch
bin/elasticsearch -d
-> 查看当前els进程 ps aux | grep elasticsearch
-> 查看端口占用 netstat -anp |grep 4200
1.启动报错:
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
并执行命令:
sysctl -p
然后,重新启动elasticsearch,即可启动成功。
2. Elk 数据 @timestamp 时间 时区差 8 小时
解决方案
https://segmentfault.com/a/1190000019911946
-> ELK数据备份设置
参考文档:
https://github.com/guobinhit/cg-blog/blob/master/articles/translation/elasticsearch/modules-snapshots.md
https://www.elastic.co/guide/cn/elasticsearch/guide/current/backing-up-your-cluster.html
多节点配置修改 elasticsearch.yml
path.repo: /data/elk/backup
PUT _snapshot/backup
{
"type": "fs",
"settings": {
"location": "/data/elk/backup"
}
}
{
"acknowledged" : true
}
二.elasticsearch-head安装 工具安装
-> 谷歌扩展工具安装 elasticsearch-head 添加到扩展程序
启动时注意开放端口,否则访问不成功。
中文api https://es.xiaoleilu.com/010_Intro/15_API.html
三.filebeat 安装使用
->官网下载地址
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
#模板的名称,默认是filebeat,filebeat版本始终附加到给定名称,因此最终名称为filebeat-%{[beat.version]}
setup.template.name: "filebeat"
#要应用于默认索引设置的模板模式。默认模式是filebeat-%。filebeat版本始终包含在模式中,因此最终模式是 filebeat-%{[beat.version]}-*。通配符 -* 用于匹配所有每日索引
setup.template.pattern: "filebeat-*"
#描述字段的YAML文件的路径,默认是fields.yml。如果设置了相对路径,则认为它相对于配置路径。
setup.template.fields: "fields.yml"
#一个布尔值,指定是否覆盖现有模板。默认值是false,true是覆盖现有模板
setup.template.overwrite: false
#设置为false以禁用模板加载,如果将此项设置为false,则必须手动加载模板。
setup.template.enabled: true
启动 ./filebeat -e -c filebeat.yml
if "buildActivityItem" in [message]{
grok {
match => {
"message" => "(?
}
}
}
logstash 安装
logstash配置文件详解
说明
/logstash/config/logstash.yml:主要用于控制logstash运行时的状态
/logstash/config/startup.options:logstash 运行相关参数
logstash.yml
参数用途默认值
node.name节点名称主机名称
path.data/数据存储路径LOGSTASH_HOME/data/
pipeline.workers输出通道的工作workers数据量(提升输出效率)cpu核数
pipeline.output.workers每个输出插件的工作wokers数量1
pipeline.batch.size每次input数量125
path.config过滤配置文件目录
config.reload.automatic自动重新加载被修改配置falseortrue
config.reload.interval配置文件检查时间
path.logs日志输出路径
http.host绑定主机地址,用户指标收集“127.0.0.1”
http.port绑定端口5000-9700
log.level日志输出级别,如果config.debug开启,这里一定要是debug日志info
log.format日志格式* plain*
path.plugins自定义插件目录
startup.options
参数用途
JAVACMD=/usr/bin/java本地jdk
LS_HOME=/opt/logstashlogstash所在目录
LS_SETTINGS_DIR="${LS_HOME}/config"默认logstash配置文件目录
LS_OPTS="–path.settings ${LS_SETTINGS_DIR}"logstash启动命令参数 指定配置文件目录
LS_JAVA_OPTS=""指定jdk目录
LS_PIDFILE=/var/run/logstash.pidlogstash.pid所在目录
LS_USER=logstashlogstash启动用户
LS_GROUP=logstashlogstash启动组
LS_GC_LOG_FILE=/var/log/logstash/gc.loglogstash jvm gc日志路径
LS_OPEN_FILES=65534logstash最多打开监控文件数量
启动 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/
.*$任意匹配直到结尾
grok正则表达式:(?
grok正则表达式:(?
grok{
match => {
#截取
"message" => "(?
}
}
————————————————
版权声明:本文为CSDN博主「cai750415222」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接: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|农场收获(农田)|[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|农场收获(农田)|[4]
[2020-03-03 15:08:01.107] [Handler-4] INFO info : ItemChangeLog|2020-03-03 15:08:01|100004|35|12|农场种植||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 数据展示 时间时区差8小时
解决方案:setting -> General -> Timezone for date formatting -> dateFormat:tz 设置对应的时区
参考文档
https://www.infvie.com/ops-notes/elkstack-beats.html
配置管理工具 Puppet,Chef,Ansible