iis7 无法添加网站,响应式网站模板html,国内网页做的好看的网站,网站实现留言功能吗大家好#xff0c;我是烤鸭#xff1a; 今天分享一下多服务器的elk搭建。
1. 流程规划 2. 执行搭建 最新的版本和对应下载地址可以在官网查询到 https://www.elastic.co/cn/products/ 2.1 elasticsearch 7.0 搭建 2.1.1 下载
wget https://artifacts.elastic.co/…大家好我是烤鸭 今天分享一下多服务器的elk搭建。
1. 流程规划 2. 执行搭建 最新的版本和对应下载地址可以在官网查询到 https://www.elastic.co/cn/products/ 2.1 elasticsearch 7.0 搭建 2.1.1 下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux-x86_64.tar.gz 我这边的目录是 /opt/web_app/elk/elasticsearch-7.0.0/
tar -zxvf elasticsearch-7.0.0-linux-x86_64.tar.gz 2.1.2 安装 由于es 不允许root账户启动先创建用户和用户组
groupadd elk
useradd -g elk elk
#添加权限
chown -R elk:elk /opt/web_app/elk/elasticsearch-7.0.0/ 2.1.3 修改配置
elasticsearch.yml 修改内容
cluster.name: test1
node.name: test1-node1
network.host: 0.0.0.0 #允许外网访问
discovery.seed_hosts: [内网ip] #集群ip
cluster.initial_master_nodes: [test1-node1] #默认节点 2.1.4 启动和停止
su elk
cd /opt/web_app/elk/elasticsearch-7.0.0/
./bin/elasticsearch
ps -ef|grep elasticsearch
kill pid 启动成功访问如图 2.1.5 异常记录 1、 Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; errorCannot allocate memory (errno12) 修改 elasticsearch 目录中 config/jvm.options
vim config/jvm.options
#-Xms2g和-Xmx2g 改为 -Xms512m和-Xmx512m 2、 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
vi /etc/sysctl.conf
#添加下面配置
vm.max_map_count655360 #单个jvm能开启的最大线程数
sysctl -p 3、 max number of threads [3795] for user [esuser] is too low, increase to at least [4096] #linux最大线程数ulimit -u可以查看#root用户下进行 cat /etc/security/limits.d/20-nproc.conf#注释这两行最前面加#* soft nproc 2048root soft nproc unlimited#在后面加四行* soft nproc 5000* hard nproc 5000root soft nproc 5000root hard nproc 5000 4、 max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
vi /etc/security/limits.conf
#用户最大打开文件数(ulimit -n可以查看)
#添加如下内容:
soft nofile 65536
hard nofile 131072
soft nproc 2048
hard nproc 4096
2.2 kinaba 搭建 由于在es 6.0之后X-Pack 就不再开源了如果想做权限控制的话可以用nginx。这里由于是内网访问就暂时没考虑安全方面的。 2.2.1 下载
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.0.0-linux-x86_64.tar.gz
#我这边的目录是 /opt/web_app/elk/kibana-7.0.0-linux-x86_64
tar -zxvf kibana-7.0.0-linux-x86_64.tar.gz 2.2.2 修改配置文件 更改配置文件: vi /opt/web_app/elk/kibana-7.0.0-linux-x86_64/config/kibana.ymlserver.host: 0.0.0.0server.maxPayloadBytes: 1048576000 # 防止日志内容过大kinaba 自动挂掉elasticsearch.hosts: [http://127.0.0.1:9200] # kinaba 和 es在一台服务器部署的所以这里是127.0.0.1 2.2.3 启动和停止
./bin/kinaba
ps -ef|grep node
ps -ef|grep 5601
kill pid
启动成功如图 2.3 logstash 搭建 2.3.1 下载
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.0.0.tar.gz
#我这边的目录是 /opt/web_app/elk/logstash-7.0.0
tar -zxvf logstash-7.0.0.tar.gz 2.3.2 修改配置文件 vi /opt/web_app/elk/logstash-7.0.0/config/logstash.conf#输入input {beats {port 5044}}#过滤器 可不加为了看着格式方便#filter{# #去除换行符# mutate{# gsub [ message, \r, ] # }# # #逗号分割# mutate { # split [message,,] # }# # #字段里的日期识别以及时区转换生成date# date {# match [ mydate, MM/dd/yyyy HH:mm:ss ]# target date# locale en# timezone 00:00 # }# # #删除无用字段# mutate { # remove_field mydate # remove_field version # remove_field host # remove_field path # }# #将两个字段转换为整型# mutate{# convert { size integer }# convert { attachments integer }# }#}#输出#不同的服务器不同的tag下面用于区分不同的服务器生成不同的index索引output {if test1 in [tags]{elasticsearch {hosts [http://127.0.0.1:9200]index etc_manage-%{YYYY.MM.dd}}}if test2 in [tags]{elasticsearch {hosts [http://127.0.0.1:9200]index test2-%{YYYY.MM.dd}}}} 2.3.3 启动和停止
cd /opt/web_app/elk/logstash-7.0.0/
./bin/logstash -f config/logstash.conf
ps -ef|grep logstash
kill pid
2.4 filebeat 搭建 在需要的服务器安装 filebeat 我这里是另外两台服务器。 2.4.1 下载
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.0.0-linux-x86_64.tar.gz
#我这边的目录是 /opt/web_app/elk/filebeat
tar -zxvf filebeat-7.0.0-linux-x86_64.tar.gz 2.4.2 修改配置文件(这里展示其中一台的配置文件另一个类似tag不同) vi /opt/web_app/elk/filebeat/filebeat.ymlpaths: #监听的日志路径- /opt/web_app/logs/*.log# 和logstash的filter配合使用filter不配置的话这个可以不配#multiline.pattern: ^\[ #必须匹配的正则表达式模式#multiline.negate: true #定义是否应取消在模式下设置的模式。 默认值为false。#multiline.match: aftertags: [test1] #标签用于区分不同的服务器来源或者日志来源output.logstash: #输出到logstash的地址和端口hosts: [logstath的ip:5044] filebeat 多行日志的处理 https://www.cnblogs.com/toSeek/p/6120778.html?utm_sourceitdadaoutm_mediumreferral 2.4.3 启动和停止 ./filebeat -e -c filebeat.yml ps -ef|grep filebeatkill pid 2.4.4 问题 解决kibana后台服务挂的方法 https://blog.csdn.net/qq_37184313/article/details/79168526 关于老版本kibana进程会挂掉的问题 https://blog.csdn.net/caocao80/article/details/87601513
vi /opt/web_app/sh/check_kibana.shkibana_pid_numlsof-i:5601 | wc -lif[ ${kibana_pid_num} 0 ]
then
echokibana Down
cd/opt/Kibana/kibana-5.4.0-linux-x86_64
nohup./bin/kibana /dev/null
else
echokibana Live
fiecho 0 1/1 * * * ? sh /opt/web_app/sh/check_kibana.sh /var/spool/cron/root 2.4.5 官方配置 https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-configuration.html 3. 配置kinaba和日志索引
首页的 management —— Index Patterns —— Create index pattern 如图所示 创建索引: 看到日志
4. 优化和不足
不足 kinaba 频繁挂掉。可能是内存不足的原因 启动过慢。 日志丢失。 其他的后续待总结。
5. 各个流行日志框架分析和对比
开源日志管理最全对比:
https://blog.csdn.net/weixin_33842304/article/details/87636213
借鉴开源框架自研日志收集系统:
https://blog.csdn.net/bigsec/article/details/80110923