怎么做能够让网站流量大,高德地图是国产软件吗,网站主体信息,wordpress插件文件夹目录
一、为什么要使用ELK
二、ELK作用
二、组件
一、elasticsearch
特点
二、logstash
工作过程
INPUT#xff08;输入#xff09;
FILETER(过滤)
OUTPUTS#xff08;输出#xff09;
三、kibana
三、架构类型
ELK
ELKK
ELFK
ELFKK
EFK
四、构建ELk集群…目录
一、为什么要使用ELK
二、ELK作用
二、组件
一、elasticsearch
特点
二、logstash
工作过程
INPUT输入
FILETER(过滤)
OUTPUTS输出
三、kibana
三、架构类型
ELK
ELKK
ELFK
ELFKK
EFK
四、构建ELk集群
一、环境配置
二、安装node1与node2节点的elasticsearch
三、在node1安装elasticsearch-head插件
四、node1服务器安装logstash
五、logstash日志收集文件格式默认存储在/etc/logstash/conf.d
六、node1节点安装kibana 一、为什么要使用ELK 日志对于分析系统、应用的状态十分重要但一般日志的量会比较大并且比较分散。 如果管理的服务器或者程序比较少的情况我们还可以逐一登录到各个服务器去查看、分析。但如果服务器或者程序的数量比较多了之后这种方法就显得力不从心。基于此一些集中式的日志系统也就应用而生。目前比较有名成熟的有Splunk(商业)、FaceBook 的Scribe、Apache的Chukwa Cloudera的Fluentd、还有ELK等等。
二、ELK作用 日志收集 日志分析 日志可视化
二、组件
一、elasticsearch 日志分析 开源的日志收集、分析、存储程序
特点 分布式 零配置 自动发现 索引自动分片 索引副本机制 Restful风格接口 多数据源 自动搜索负载
二、logstash 日志收集 搜集、分析、过滤日志的工具
工作过程 一般工作方式为c/s架构Client端安装在需要收集日志的服务器上Server端负责将收到的各节点日志进行过滤、修改等操作再一并发往Elasticsearch上去 Inputs → Filters → Outputs 输入--过滤--输出
INPUT输入 File 从文件系统的文件中读取类似于tail -f命令 Syslog 在514端口上监听系统日志消息并根据RFC3164标准进行解析 Redis 从redis service中读取 Beats 从filebeat中读取
FILETER(过滤) Grok 解析任意文本数据Grok 是 Logstash 最重要的插件。它的主要作用就是将文本格式的字符串转换成为具体的结构化的数据配合正则表达式使用。 官方提供的grok表达式 logstash-patterns-core/patterns at main · logstash-plugins/logstash-patterns-core · GitHub Grok在线调试 Grok Debugger Mutate 对字段进行转换。例如对字段进行删除、替换、修改、重命名等。 Drop 丢弃一部分Events不进行处理。 Clone 拷贝Event这个过程中也可以添加或移除字段。 Geoip 添加地理信息(为前台kibana图形化展示使用)
OUTPUTS输出 Elasticsearch 可以高效的保存数据并且能够方便和简单的进行查询。 File 将Event数据保存到文件中。 Graphite 将Event数据发送到图形化组件中踏实一个当前较流行的开源存储图形化展示的组件。
三、kibana 日志可视化 为Logstash和ElasticSearch在收集、存储的日志基础上进行分析时友好的Web界面可以帮助汇总、分析和搜索重要数据日志。
三、架构类型
ELK es logstash kibana
ELKK es logstash kafka kibana
ELFK es logstash 重量级 占用系统资源较多 filebeat 轻量级 占用系统资源较少 kibana
ELFKK es logstash filebeat kafka kibana
EFK es logstash fluentd kafka kibana
四、构建ELk集群 基于Java环境yum install -y java-1.8.0-OpenJDK) 虚拟机 内存4G 四核 已经下载好的 tar包
一、环境配置 关闭防火墙selinux 设置各个主机的IP地址为静态IP两个节点中修改主机名为node1和node2并设置hosts文件
node1192.168.100.10/24 hostnamectl set-hostname node1 vim /etc/hosts 192.168.1.1 node1 192.168.1.2 node2 node2192.168.100.11/24 hostnamectl set-hostname node2 vim /etc/hosts 192.168.1.1 node1 192.168.1.2 node2 二、安装node1与node2节点的elasticsearch 安装 rpm -ivh elasticsearch-5.5.0.rpm 配置 vim /etc/elasticsearch/elasticsearch.yml cluster.name:my-elk-cluster //集群名称 node.name:node1 //节点名字 path.data:/var/lib/elasticsearch //数据存放路径 path.logs /var/log/elasticsearch/ //日志存放路径 bootstrap.memory_lock:false //在启动的时候不锁定内存 network.host:0.0.0.0 //提供服务绑定的IP地址0.0.0.0代表所有地址 http.port:9200 //侦听端口为9200 discovery.zen.ping.unicast.hosts【node1node2】 //群集发现通过单播实现 node2 vim /etc/elasticsearch/elasticsearch.yml cluster.name:my-elk-cluster //集群名称 node.name:node2 //节点名字 path.data:/var/lib/elasticsearch //数据存放路径 path.logs /var/log/elasticsearch/ //日志存放路径 bootstrap.memory_lock:false //在启动的时候不锁定内存 network.host:0.0.0.0 //提供服务绑定的IP地址0.0.0.0代表所有地址 http.port:9200 //侦听端口为9200 discovery.zen.ping.unicast.hosts【node1node2】 //群集发现通过单播实现 启动elasticsearch服务
node1和node2
systemctl start elasticsearch 查看节点信息 192.168.100.109200 192.168.100.119200 三、在node1安装elasticsearch-head插件
安装node cd elk tar xf node-v8.2.1.tar.gz cd node-v8.2.1 ./configure make -j4 make install 拷贝命令 cd elk tar xf phantomjs-2.1.1-linux-x86_64.tar.bz2 cd phantomjs-2.1.1-linux-x86_64/bin cp phantomjs /usr/local/bin 安装elasticsearch-head cd elk tar xf elasticsearch-head.tar.gz cd elasticsearch-head npm install(npm 由node包生成 修改elasticsearch配置文件 vim /etc/elasticsearch/elasticsearch.yml #action.destructive_requires_name:true http.cors.enabled: true //开启跨域访问支持默认为false http.cors.allow-origin:* //跨域访问允许的域名地址 重启服务 systemctl restart elasticsearch 启动elasticsearch-head cd /root/elk/elasticsearch-head npm run start 查看监听 netstat -anput | grep :9100 访问 192.168.100.10:9100
测试
在node1的终端中输入 curl -XPUT localhost:9200/index-demo/test/1?prettypretty -H Content-Type: application/json -d {user:zhangsan,mesg:hello world} 刷新浏览器可以看到对应信息即可
四、node1服务器安装logstash cd elk rpm -ivh logstash-5.5.1.rpm systemctl start logstash.service In -s /usr/share/logstash/bin/logstash /usr/local/bin/ 测试1 标准输入与输出
logstash -e input{ stdin{} }output { stdout{} }
测试2 使用rubydebug解码
logstash -e input { stdin{} } output { stdout{ codecrubydebug }}
测试3输出到elasticsearch
logstash -e input { stdin{} } output { elasticsearch{ hosts[192.168.1.1:9200]} } 查看结果192.168.100.109100
五、logstash日志收集文件格式默认存储在/etc/logstash/conf.d Logstash配置文件基本由三部分组成input、output以及 filter根据需要。标准的配置文件格式如下
input (...) 输入
filter {...} 过滤
output {...} 输出
在每个部分中也可以指定多个访问方式。例如若要指定两个日志来源文件则格式如下
input {
file{path /var/log/messages type syslog}
file { path /var/log/apache/access.log type apache}
} 通过logstash收集系统信息日志 chmod or /var/log/messages vim /etc/logstash/conf.d/system.conf input { file{ path /var/log/messages type system start_position beginning } } output { elasticsearch{ hosts [192.168.100.10:9200] index system-%{YYYY.MM.dd} } } 重启日志服务 systemctl restart logstash 查看日志 192.168.100.109100 六、node1节点安装kibana cd elk rpm -ivh kibana-5.5.1-x86_64.rpm 配置kibana vim /etc/kibana/kibana.yml server.port5601 //Kibana打开的端口 server.host0.0.0.0 //Kibana侦听的地址 elasticsearch.url http//192.168.8.134:9200 //和Elasticsearch 建立连接 kibana.index.kibana //在Elasticsearch中添加.kibana索引 启动kibana systemctl start kibana 访问kibana : 192.168.100.105601
首次访问需要添加索引我们添加前面已经添加过的索引system-*