1)ELK的作用 集中化管理日志 对日志配置群集避免单节点故障,日志丢失 2)ELK特点 开源 不支持日志分析 支持集中化管理
1)elasticsearch 开源的日志搜索和存储引擎 采用分布式设计 自动配置日志群集 支持零配置负载均衡功能 2)logstash 负责日志采集 对客户端日志进行采集、格式化、输出到elasticsearch存储 安装在客户端上 3)kibana 支持图形化界面查看日志 兼容强 安装在服务器端
1)shipper 日志采集 实时监控日志变化 将日志格式化上传到elasticsearch 2)indexer 日志存储 创建索引 3)broker 接收多个shipper采集的日志 4)search and stroage 允许用户搜索和存储日志信息 5)web interface 支持kibana访问平台中的数据 支持WEB页面查看日志
安装
rpm -ivh /mnt/elasticsearch-5.5.0.rpm
修改配置文件
vim /etc/elasticsearch/elasticsearch.yml
18 cluster.name: my-elk //群集名字 25 node.name: centos01 //节点计算机名 46 bootstrap.memory_lock: false //不锁定内存 59 network.host: 192.168.100.10 //监听IP 64 http.port: 9200 //监听端口 74 discovery.zen.ping.unicast.hosts: ["centos01", "centos02"] //将节点加入群集
启动服务设置开机自动启动
systemctl daemon-reload systemctl start elasticsearch.service systemctl enable elasticsearch.service
监听端口
netstat -anptu | grep 9200
解压node文件压缩包
tar zxvf /mnt/node-v8.2.1.tar.gz -C /usr/src/
将node文件剪切更换目录
mv /usr/src/node-v8.2.1/ /usr/local/node
进入到文件中并编译安装
./configure && make && make install
解压phantomjs
tar jxvf /mnt/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/src/
添加执行权限
cp phantomjs /usr/local/bin/ chmod +x /usr/local/bin/phantomjs
解压elasticsearch
tar zxvf /mnt/elasticsearch-head.tar.gz -C /usr/src/
移动elasticsearch-head
mv /usr/src/elasticsearch-head/ /usr/local/
安装工具
npm install
修改elasticsearch跨域访问
vim /etc/elasticsearch/elasticsearch.yml
65 http.cors.enabled: true 66 http.cors.allow-origin: "*"
重启
/etc/init.d/elasticsearch restart
修改elasticsearch-head配置文件监听9200
vim /usr/local/elasticsearch-head/_site/app.js
4329 this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.100.10:9200";
修改修改elasticsearch-head配置文件监听9100端口
vim /usr/local/elasticsearch-head/Gruntfile.js
93 hostname:'192.168.100.10', 94 port: 9100,
启动服务
cd /usr/local/elasticsearch-head/ npm run start&
使用浏览器链接测试
安装logstash
rpm -ivh logstash-5.5.1.rpm
优化命令
ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
启动服务设置开机自动启动
systemctl start logstash systemctl enable logstash
插入测试数据
logstash -e 'input { stdin{}} output { stdout{}}'
logstash -e 'input { stdin{}} output { stdout{ codec=>rubydebug}}'
logstash -e 'input { stdin{}} output { elasticsearch{hosts => ["192.168.100.10:9200"]}}'
打开浏览器查看日志
设置允许日志读取
chmod o+r /var/log/httpd/access_log
创建采集日志文件
touch /etc/logstash/conf.d/apache.conf chmod +x /etc/logstash/conf.d/apache.conf vim /etc/logstash/conf.d/apache.conf
检查日志采集文件是否有问题
logstash -f /etc/logstash/conf.d/apache.conf
重新启动logstash
systemctl restart logstash.service
安装kibana
rpm -ivh /mnt/kibana-5.5.1-x86_64.rpm
修改主配置文件
vim /etc/kibana/kibana.yml
3 server.port: 5601 9 server.host: "192.168.100.10" 24 elasticsearch.url: "http://192.168.100.10:9200"
启动服务
systemctl start kibana systemctl enable kibana