elk部署
在centos7上安装elk6.x版本
Logstash是一个用于收集,解析和存储日志以供将来使用的开源工具。
Kibana是一个Web界面,可用于搜索和查看Logstash索引的日志。
这两个工具都基于Elasticsearch,用于存储日志。
Logstash可以用于收集所有类型的日志,但我们将本教程的范围限制为syslog收集
于Elasticsearch可以多节点集群存储。本文只有一台设备同时部署三个组件。
环境准备
先安装java
yum -y install java-1.8.0-openjdk*
修改LIMIT参数:vim /etc/security/limits.conf
增加:
1 | * soft nproc 65535 |
添加虚拟内存
vim /etc/sysctl.conf
1 | vm.max_map_count=262144 |
通过sysctl -p
查看虚拟内存
安装ES,及插件
基本环境准备好之后开始安装elasticsearch
首先导入key:rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
配置repo:
vim /etc/yum.repos.d/elasticsearch.repo
1 | [elasticsearch-6.x] |
直接yum安装yum -y install elasticsearch
等待完成之后进行初始配置
创建数据存放目录:
mkdir -p /data/es-data
修正文件夹权限:
chown -R elasticsearch:elasticsearch /data/es-data
chown -R elasticsearch:elasticsearch /var/log/elasticsearch/
修改ES配置文件vim /etc/elasticsearch/elasticsearch.yml
1 | # grep ^[a-zA-Z].* /etc/elasticsearch/elasticsearch.yml |
启动服务:
1 | sudo systemctl daemon-reload |
启动之后访问http://localhost:9200/ 显示以下类似的json确认ES正常
1 | { |
安装es head插件(可选)
安装git和node.js
1 | yum -y install git |
Head插件phantomjs解压问题:
解决办法,系统提供的lib解压有问题,安装bzip2即可: yum -y install bzip2Head插件phantomjs权限问题:
解决办法: npm install -g
运行,
npm run start
open http://localhost:9100/
可以查看到es集群的节点信息
安装logstash
直接yum -y install logstash 的话由于是从海外aws下载速度较慢,建议自行下载rpm包(https://www.elastic.co/downloads/logstash )
1 | # 下载 |
后面真正需要运行的时候,需要配合配置文件启动,这些下次再写
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/syslog-asa.conf &
安装kibana
同样,提前下载包
官网(https://www.elastic.co/downloads/kibana )
1 | wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.2-linux-x86_64.tar.gz` |
编辑配置文件
1 | # vim /usr/local/kibana-6.3.2-linux-x86_64/config/kibana.yml |
启动/usr/local/kibana-6.3.2-linux-x86_64/bin/kibana &
打开http://localhost:5601 即可看到kibana安装成功。
关于logstash的配置文件,详见下篇案例解析:elk收集分析ASA日志