赞
踩
ELK 企业级日志分析系统是一个开源的日志管理解决方案,由三个核心组件组成:Elasticsearch、Logstash 和 Kibana。这三个组件共同工作,帮助用户收集、存储、搜索、分析和可视化日志数据。
Node节点 (至少需要2核CPU4G内存)
192.168.20.10
192.168.20.20
Apache节点
192.168.20.30
Kiabana
192.168.20.40
1安装jdk环境
下载 jdk环境rpm包 可以通过我的网盘分享下载jdk8的rpm安装包
下载完成后使用 rpm命令安装这个JDK环境,
rpm -i jdk-8u202-linux-x64.rpm
再使用rpm查看Java路径
rpm -qpc jdk-8u202-linux-x64.rpm
记住Java路径
这里是/usr/java/jdk1.8.0_202-amd64
新建一个环境变量子文件增加或修改环境变量
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_202-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile.d/java.sh
版本更新成功
下载并且安装Elasticsearch RPM 软件包
cd /opt
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.2.rpm
rpm -i elasticsearch-5.0.2.rpm
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl restart elasticsearch.service
刷新配置文件并且启动服务
备份并且修改elasticsearch主配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
vim /etc/elasticsearch/elasticsearch.yml
第十七行取消注释,cluster.name: 你想要的名字
第23行取消注释,修改你节点的名字IP
33行取消注释,指定数据存放路径path.data: /data/elk_data
37取消注释,指定日志存放路径path.logs: /var/log/elasticsearch/
43行取消注释关闭内存锁
55行取消注释将监听地址改为0.0.0.0监听所有地址
59行取消注释监听9200端口
68行取消注释设置集群发现通过单播实现,指定要发现的节点 可以是主机名也可以是IP,主机名需要在host文件中设置
cluster.name: xwm_jq
node.name: node1
path.data: /data/elk_data
path.logs: /var/log/elasticsearch/
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.20.10", "192.168.20.20"]
创建/data/elk_data文件夹并且设置属组与属主,若是没有此文件夹就会报错导致elasticsearch无法启动
mkdir -p /data/elk_data
chown elasticsearch:elasticsearch /data/elk_data/
查看节点信息
浏览器访问 http://192.168.20.10:9200 、 http://192.168.20.20:9200 查看节点 Node1、Node2 的信息。
查看节点状态
green(绿色), 表示节点健康运行。
绿色: 健康 数据和副本 全都没有问题
红色: 数据都不完整
黄色: 数据完整,但副本有问题发
查看集群状态
http://192.168.20.10:9200/_cluster/state?pretty
使用这种方式查看集群状态和服务器状态不够直观,可以使用Elasticsearch-head
解压缩node-v8.17.0.tar.gz 源码包
tar xfv node-v8.17.0.tar.gz
安装编译依赖环境
yum -y install gcc gcc-c++ make
cd node-v8.17.0/
./configure
make -4j && make install
node编译安装完成
可以在官网下载
下载二进制文件包解压后可以直接使用
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/src/
cd /usr/local/src/phantomjs-2.1.1-linux-x86_64/bin
cp phantomjs /usr/local/bin
安装 Elasticsearch-head 数据可视化工具
#上传软件包 elasticsearch-head.tar.gz 到/opt
cd /opt
tar xfv elasticsearch-head.tar.gz
cd /opt/elasticsearch-head-5.0.0
npm install
通过命令插入一个测试索引,索引为 index-demo,类型为 test。
curl -X PUT ‘localhost:9200/index-demo/test/1?pretty&pretty’ -H ‘content-Type: application/json’ -d ‘{“user”:“zhangsan”,“mesg”:“hello world”}’
//输出结果如下:
访问192.168.20.10:9100
可以看到它拥有一条索引
在192.168.20.30机器上上传软件包 logstash-6.7.2.rpm 到/opt目录下
rpm -ivh logstash-6.7.2.rpm
systemctl start logstash.service
systemctl enable logstash.service
ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
测试 Logstash
使用 rubydebug 输出详细格式显示,codec 为一种编解码器
logstash -e ‘input { stdin{} } output { stdout{ codec=>rubydebug } }’
使用 Logstash 将信息写入 Elasticsearch 中
logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.20.10:9200"] } }'
输入 输出 对接
www.baidu.com
生成了新的日志 logstash发送到ES的日志
可以通过修改配置文件 让收集系统日志/var/log/message,并将其输出到elasticsearch服务器上
首先让logstersh有读取日志的权限
chmod +r /var/log/messages
在/etc/logstash/conf.d添加Logstash配置文件
vim /etc/logstash/conf.d/messages.conf
input { file { path =>"/var/log/messages" type =>"messages" start_position =>"beginning" sincedb_path => "/etc/logstash/sincedb_path/log_progress" add_field => {"log_hostname"=>"${HOSTNAME}"} } } output { elasticsearch { hosts => ["192.168.20.10:9200", "192.168.20.20:9200"] index =>"messages-%{+YYYY.MM.DD}" } }
mkdir /etc/logstash/sincedb_path/
touch /etc/logstash/sincedb_path/log_progress
chown logstash:logstash /etc/logstash/sincedb_path/log_progress
logstash -f messages.conf
可以看见多出了一个messages索引,说明配置文件完成
在192.168.20.40安装
cd /opt
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.0.2-i686.rpm
使用 rpm命令安装Kibana
rpm -i kibana-5.0.2-i686.rpm
修改Kibana的配置文件
vim /etc/kibana/kabana.yul
#第二行取消注释
server.port: 5601
#第七行取消注释设置kabana需要监听的地址
server.host: "0.0.0.0"
#设置第二十八行置和 Elasticsearch 建立连接的地址和端口
elasticsearch.url: "http://192.168.20.10:9200"
#第三十行取消注释
kibana.index: ".kibana"
启动 Kibana 服务
systemctl start kibana.service
systemctl enable kibana.service
netstat -natp | grep 5601
验证 Kibana
浏览器访问 http://192.168.10.13:5601
第一次登录需要添加一个 Elasticsearch 索引:
Index name or pattern
elk配置完成
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。