天猫购买平台,东莞网站建设优化,wordpress nextapp,网站分析 工具目录
前言
一、概述
二、案例
#xff08;一#xff09;、环境配置
安装node1与node2节点的elasticsearch
node1的elasticsearch-head插件
#xff08;二#xff09;、node1服务器安装logstash
测试1#xff1a; 标准输入与输出
测试2#xff1a;使用rubydebug解…目录
前言
一、概述
二、案例
一、环境配置
安装node1与node2节点的elasticsearch
node1的elasticsearch-head插件
二、node1服务器安装logstash
测试1 标准输入与输出
测试2使用rubydebug解码
测试3输出到elasticsearch
三、node1节点安装kibana
四、企业案例
总结 前言
日志对于分析系统、应用的状态十分重要但一般日志的量会比较大并且比较分散。
如果管理的服务器或者程序比较少的情况我们还可以逐一登录到各个服务器去查看、分析。但如果服务器或者程序的数量比较多了之后这种方法就显得力不从心。基于此一些集中式的日志系统也就应用而生。目前比较有名成熟的有Splunk(商业)、FaceBook 的Scribe、Apache的Chukwa Cloudera的Fluentd、还有ELK等等。 一、概述
ELK由三个组件构成
elasticsearch日志分析logstash日志收集kibana 日志可视化
elasticsearch是一种开源的日志收集、分析、存储程序具有以下特点分布式零配置自动发现索引自动分片索引副本机制Restful风格接口 多数据源自动搜索负载
logstash搜集、分析、过滤日志的工具工作过程Inputs → Filters → Outputs输入--过滤--输出
一般工作方式为c/s架构Client端安装在需要收集日志的服务器上Server端负责将收到的各节点日志进行过滤、修改等操作再一并发往Elasticsearch上去
kibana日志可视化。
为Logstash和ElasticSearch在收集、存储的日志基础上进行分析时友好的Web界面可以帮助汇总、分析和搜索重要数据日志。 二、案例
192.168.238.145httpd
192.168.238.146node1
192.168.238.147node2
注意node服务器建议给4G内存4G处理器否则elasticsearch可能服务端口启动异常因为elasticsearch服务器会占用大量的内存内存会不足。
安装好elasticsearch服务器后记得daemon-reload加载system的配置文件,否则可能导致服务访问异常集群id不同后续将无法操作。
node1与node2节点要有Java环境Java -version查看版本1.8.0即可没有要安装Java环境
Yum install -y java-1.8.0-openjdk 一、环境配置
node1与node2修改主机名本地host文件。
hostnamectl set-hostname node1
vim /etc/hosts
192.168.238.146 node1 192.168.238.147 node2 bash刷新
互相ping通测试通信 node1安装elasticsearch-head插件
tar xf node-v8.2.1.tar.gzcd node-v8.2.1./configure make make install
等待安装完毕即可过程较长 安装node1与node2节点的elasticsearch
rpm -ivh elasticsearch-5.5.0.rpmvim /etc/elasticsearch/elasticsearch.yml network.host:也可以是本机IP
node2同此操作只需将node.name修改成node2
分别启动服务
systemctl start elasticsearch
查看端口是否启动
netstat -anput | grep :9200
查看节点信息
192.168.238.146:9200 192.168.238.147:9200 可以查看集群状态
192.168.238.146:9200/_cluster/health Green 健康 yellow 警告 red 集群不可用严重错误 node1的elasticsearch-head插件
tar xf phantomjs-2.1.1-linux-x86_64.tar.bz2cd phantomjs-2.1.1-linux-x86_64/bincp phantomjs /usr/local/bin
修改elasticsearch服务的配置文件在最后添加
vim /etc/elasticsearch/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: *
安装elasticsearch-head
tar xf elasticsearch-head.tar.gz
cd elasticsearch-head
npm install
npm run start
要在当前目录下启动后台 访问192.168.238.146:9100进行连接 测试在node1的终端中输入
curl -XPUT 192.168.238.146:9200/index-demo/test/1?prettypretty -H Content-Type: application/json -d {user:zhangsan,mesg:hello world} 刷新浏览器可以看到对应信息即可 二、node1服务器安装logstash
rpm -ivh logstash-5.5.1.rpm
systemctl start logstash.service 测试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.238.146:9200]} } 查看结果 192.168.238.146.9100刷新 logstash日志收集文件格式默认存储在/etc/logstash/conf.d
Logstash配置文件基本由三部分组成input、output以及 filter根据需要。
标准的配置文件格式如下 input{...} 输入 filter {...} 过滤 output {...} 输出 案例 通过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.238.146:9200]
index system-%{YYYY.MM.dd}
}
}
重启日志服务 systemctl restart logstash 三、node1节点安装kibana
rpm -ivh kibana-5.5.1-x86_64.rpm
vim /etc/kibana/kibana.yml
修改配置 启动kibana
systemctl start kibana
访问kibana 192.168.238.146:5601
首次访问需要添加索引我们添加前面已经添加过的索引system-*没有索引无法添加 四、企业案例
192.168.238.145httpd
收集httpd访问日志信息
在httpd服务器上安装logstash参数上述安装过程可以不进行测试
logstash在httpd服务器上作为agent代理不需要启动。
安装httpd启动服务
编写httpd日志收集配置文件
vim /etc/logstash/conf.d/httpd.conf
input {
file{
path /var/log/httpd/access_log
type access
start_position beginning
}
}
output {
elasticsearch{
hosts [192.168.238.146:9200]
index httpd-ok%{YYYY.MM.dd}
}
}
使用logstash命令导入配置
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/httpd.conf
等待显示成功不做任何操作 访问192.168.238.1469100查看新建的索引 使用kibana查看即可 192.168.238.1465601
查看时在mangement选项卡创建索引httpd_access-* 即可 总结
内容不难重点要先理解后才更好上手操作注意事项尽量避免多数是服务端口无法正常启动或服务启动后集群异常的问题。有兴趣的小伙伴可以去拓展下ELKK、ELFK、ELFKK、EFK等模式。