日志服务器
提高安全性
集中存放日志
缺陷
对日子分析困难
日志分析步骤
将日志进行集中化管理
将日志格式化(Logstash)并输出到Elasticsearch
对格式化后的数据进行索引和存储(Elasticsearch)
前端数据的展示
Elasticsearch的概述
提供了一个分布式多用户能力的全文搜索引擎
Elasticsearch核心概念
接近实时
集群
节点
索引
索引(库)→类型(表)→文档(记录)
分片和副本
Logstash介绍
一款强大的数据处理工具
可实现数据传输、格式处理、格式化输出
数据输入、数据加工(如过滤,改写等)以及数据输出
LogStash主要组件
Shipper
Indexer
Broker
Search and Storage
Web Interface
Libana介绍
一个针对Elasticsearch的开源分析及可视化平台
搜索、查看存储在Elasticsearch索引中的数据
通过各种图表进行高级数据分析及展示
Kibana主要功能
Elasticsearch无缝之集成
整合数据,复杂数据分析
让更多团队成员受益
接口灵活,分享更容易
配置简单,可视化多数据源
简单数据导入
部署ELK
1.基础环境
|---|---|---|---|
| | | | |
| | | | |
| | | | |
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭内核安全机制
setenforce 0
sed -i
"S/ASELINUX=.*/SELINUX=disabled/g
/etc/selinux/config
修改主机名
hostnamectl set-hostname node2
hostnamectl set-hostname node1
hostnamectl set-hostname apache
2.在三台节点上配置host解析
cat >> /etc/hosts << EOF
192.168.27.152 node1
192.168.27.153 node2
192.168.27.154 apache
EOF
测试时间是否同步
#用date看日志是否与宿主机一致
date
#chronyc sources -v 如果有任何一条^*回显就是跟宿主机时间一致
chronyc sources -v
3.在node节点上
#安装依赖
yum -y install java-1.8.0-openjdk
上传rpm包(elasticsearch-5.5.0.rpm),执行安装
rpm -ivh elasticsearch-5.5.0.rpm
重启服务
systemctl daemon-reload
systemctl enable elasticsearch.service
4.在node1上编辑配置文件,并传入node2覆盖(也可修改node2的达成一致)
vi /etc/elasticsearch/elasticsearch.yml
/data/elk_data
/var/log/elasticsearch/
scp /etc/elasticsearch/elasticsearch.yml root@node2:/etc/elasticsearch/
传输完成后,打开配置文件,修改
vi /etc/elasticsearch/elasticsearch.yml
创建配置文件所需的目录文件,给予权限
mkdir -p /data/elk_data
chown elasticsearch:elasticsearch -R /data/
systemctl start elasticsearch.service
ss -nlpt | grep 9200
5.查看集群健康状态信息
curl 192.168.27.153:9200
curl 192.168.27.153:9200/_cluster/health?pretty
#绿色为健康
#黄色为警告
#红色代表有错误
查看集群索引
curl 192.168.27.153:9200/_cat/indices?pretty
6.在第三台机器安装依赖包
yum -y install java-1.8.0-openjdk
上传软件包(logstash-5.5.1.rpm)
#安装启动
rpm -ivh logstash-5.5.1.rpm
systemctl start logstash.service
ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
编辑配置文件的采集日志
vi /etc/logstash/conf.d/system.conf
input {
file{
path =>"/var/log/messages"
type =>"system"
start_position =>"beginning"
}
}
output {
elasticsearch {
hosts => ["192.168.27.152:9200"]
index =>"system-%{+YYYY.MM.dd}"
}
}
保存退出,给予执行权限,重启服务
chmod +r /var/log/messages
systemctl restart logstash
在第一台查看健康,会有回显信息(采集成功)
curl 192.168.27.152:9200/_cat/indices?pretty
7.在第一台机器上传包(kibana-5.5.1-x86_64.rpm)
rpm -ivh kibana-5.5.1-x86_64.rpm
systemctl enable kibana.service
vi /etc/kibana/kibana.yml
调整配置文件
监听地址为当前节点的地址 开启服务,过滤端口号
浏览器搜素
创建节点,查看状态
8.安装网站
1.在apache节点安装并启动
yum -y install httpd
systemctl start httpd
2.在节点2模拟数据流量请求
for i in $(seq 1 10000);do curl 192.168.27.154 ;sleep 1;done
3.在apache节点,编写日志采集的文件
vi /etc/logstash/conf.d/apache_log.conf
input {
file{
path =>"/var/log/httpd/access_log"
type =>"access"
start_position =>"beginning"
}
file {
path =>"/var/log/httpd/error_log"
type =>"error"
start_position =>"beginning"
}
}
output {
if [type] == "access" {
elasticsearch {
hosts => ["192.168.27.152:9200"]
index =>"apache_access-%{+YYYY.MM.dd}"
}
}
if [type] == "error" {
elasticsearch {
hosts => ["192.168.27.152:9200"]
index =>"apache_error-%{+YYYY.MM.dd}"
}
}
}
4.给予权限,重启服务
chmod -R 777 /var/log/httpd
systemctl restart logstash
5.回到node1节点查看索引
6.浏览器添加apache和error的日志
在node1节点上配置model
浏览器验证