安装elasticsearch-headde-前期准备工作安装node.js
下载软件:
第一部分:https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz
yum install xz
xz -d node-v10.13.0-linux-x64.tar.xz
tar xf node-v10.13.0-linux-x64.tar
mv node-v10.13.0-linux-x64 /usr/local/node
第二部分:添加环境变量:
vim /etc/profile
export PATH=$PATH:/usr/local/node/bin
下载elasticsearch-head包
cd /usr/local/elk
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
yum install zip -y
unzip master.zip
mv elasticsearch-head-master elasticsearch-head
#修改npm镜像源
npm install -g cnpm --registry=https://registry.npm.taobao.org
npm install
可能会用到下面的命令:
npm install phantomjs-prebuilt@2.1.14 --ignore-scripts
npm audit fix --force
修改配置文件:
vim Gruntfile.js
修改放火墙策略:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9100 -j ACCEPT
/etc/init.d/iptables restart
启动服务:npm run start
logstash安装
注意,logstash至少要有1G内存才能执行且需要java环境
第一部分:
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.1.1.tar.gz
tar zxf logstash-5.1.1.tar.gz
mv logstash-5.1.1 /usr/local/elk/logstash
chown -R elk.elk /usr/local/elk/logstash
运行测试:
/usr/local/elk/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }'
修改配置文件:
vim /usr/local/elk/logstash/config/elastic.conf
第二部分:
logstash的配置文件须包含三个内容:
input{}:此模块是负责收集日志,可以从文件读取、从redis读取或者开启端口让产生日志的业务系统直接写入到logstash
filter{}:此模块是负责过滤收集到的日志,并根据过滤后对日志定义显示字段
output{}:此模块是负责将过滤后的日志输出到elasticsearch或者文件或者redis等
其中input中只包含一套业务系统日志file(一个file代表一个需要处理胡文件系统文件),其中各参数的意义:
type:代表类型,其实就是将这个类型推送到Elasticsearch,方便后面的kibana进行分类搜索,一般直接命名业务系统的项目名
path:读取文件的路径
start_position => "beginning"是代表从文件头部开始读取
output将内容直接输出到elasticsearch中
其中elasticsearch中字段的含义:
host: elasticsearch主机名称
Index: 定义将过滤后的日志推送到Elasticsearch后存储的名字
stdout:指定 output的日志输出格式
action:在ES上操作index
启动logstash
/usr/local/elk/logstash/bin/logstash -f /usr/local/elk/logstash/conf/elastic.conf > /dev/null &