环境准备
安装软件信息
环境说明
系统版本:CentOS Linux release 7.4.1708 (Core)
硬件配置:虚拟机CPU 1核、内存2G
关闭selinux
关闭iptables和firewalld’
java1.8环境搭建
说明:由于”elasticsearch”和”logstash”依赖于java环境,所以需要首先安装java1.8。
1、查看java是否有旧版本或是openjdk
rpm -qa | grep jdk
2、删除所有openjdk
rpm -e –nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
rpm -e –nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
rpm -e –nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
rpm -e –nodeps java-1.7.0-openjdk-headless-1.7.0.141-2.6.10.5.el7.x86_64
3、安装java1.8
cd /usr/local
tar -zxvf jdk-8u171-linux-x64.tar.gz
mv jdk1.8.0_171/ java
rm -fr jdk-8u171-linux-x64.tar.gz
4、配置java1.8环境变量
vim /etc/profile
将下面的内容拷贝到”/etc/profile”文件中:
###java env###
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
使环境变量生效
source /etc/profile
5、查看java版本
java -version
elasticsearch的安装和启动
1、下载elasticsearch (elasticsearch用来存储数据,供kibana调取并进行展现)
https://www.elastic.co
解压安装:
cd /usr/local
tar zxvf elasticsearch-6.2.3.tar.gz
删除压缩包
rm -fr elasticsearch-6.2.3.tar.gz
2、elasticsearch配置
创建日志文件
mkdir -p /var/log/elk/elasticsearch
授权
chown -R elk:elk /var/log/elk/
进入配置文件
cd /usr/local/elasticsearch-6.2.3/config
vim elasticsearch.yml
修改如下的内容:
path.data:
/usr/local/elasticsearch-6.2.3/data #数据存储目录
path.logs:
/var/log/elk/elasticsearch #日志存储目录
network.host: 192.168.139.98
http.port: 9200
3、将elasticsearch目录的用户和属主都更改成elk用户
chown -R elk:elk /usr/local/elasticsearch-6.2.3/
4、优化jvm内存(根据实际情况来设置)
vim /usr/local/elasticsearch-6.2.3/config/jvm.options
-Xms200M
-Xmx200M
vim /usr/local/elasticsearch-6.2.3/bin/startup.sh
输入以下内容:
/usr/local/elasticsearch-6.2.3/bin/elasticsearch -d #”-d”可以在后台运行
为脚本增加权限
chmod +x /usr/local/elasticsearch-6.2.3/bin/startup.sh
chown elk:elk /usr/local/elasticsearch-6.2.3/bin/startup.sh
6、启动elasticsearch
su -s /bin/bash elk /usr/local/elasticsearch-6.2.3/bin/startup.sh
错:
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决办法:
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
修改配置文件
vim /etc/security/limits.conf
增加如下内容:
elk hard nofile 65536
elk soft nofile 65536
注:elk是启动ES的用户
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改配置文件
vim /etc/sysctl.conf
增加如下内容:
vm.max_map_count=262144
使配置生效:
sysctl -p
观察日志
观察kibana 页,看下还会不会 elasticsearch的错误
7、优化建议,如果elasticsearch监听在非127.0.0.1,需要配置内核参数等
network.host: 0.0.0.0
vim /etc/security/limits.conf(处理max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536])
* soft nofile 65536
* hard nofile 65536
vim
/etc/security/limits.d/20-nproc.conf(处理max number of threads [3885] for user [elk] is too low, increase to at least [4096])
* soft nproc 10240
* hard nproc 10240
sysctl.conf添加(处理max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144])
vm.max_map_count = 262144 #需要运行sysctl -p生效
注:这些错误在”6″小节已经出现过,并且已经及时处理了!
kibana安装、配置及安全设置
kibana的安装和配置
1、kibana下载最新的安装包(kibana主要用来展现数据,它本身不存储数据)
该下载地址可以下载:elasticsearch、logstash和kibana
https://www.elastic.co
2、添加elk来启动elk
useradd -s /sbin/nologin elk
-M:不创建家目录(本次不要使用该参数)-s:指定用户登陆时使用的shell,nologin就是登陆不了
解压安装kibana:
tar zxvf kibana-6.2.3-linux-x86_64.tar.gz
mv kibana-6.2.3-linux-x86_64 kibana-6.2.3
3、kibana配置文件
cd /usr/local/kibana-6.2.3/config
vim kibana.yml
修改如下部分:
server.port: 5601
server.host: “0.0.0.0”(本次为了实战监听在所有 卡,但是这样有风险,这个地址为elasticsearch所在机器的IP:192.168.139.98)
#elasticsearch.url: “http://localhost:9200” (默认是连接elasticsearch的9200端口)
#elasticsearch.username: “user” (配置连接elasticsearch的用户名和密码)
#elasticsearch.password: “pass”
4、把kibana目录改为elk用户
chown -R elk:elk /usr/local/kibana-6.2.3/
5、启动kibana
su -s /bin/bash elk
/usr/local/kibana-6.2.3/bin/kibana
6、新增启动脚本vim
/usr/local/kibana-6.2.3-linux-x86_64/bin/startup.sh(推荐)
mkdir -p /var/log/elk/kibana
touch /var/log/elk/kibana/kibana.log
chown -R elk:elk /var/log/elk/
cd /usr/local/kibana-6.2.3/bin
vim startup.sh
脚本内容如下:
nohup /usr/local/kibana-6.2.3/bin/kibana >> /var/log/elk/kibana/kibana.log >> /var/log/elk/kibana/kibana.log 2>&1 &
增加权限:
chmod +x startup.sh
chown elk:elk startup.sh
启动kibana
su -s /bin/bash elk /usr/local/kibana-6.2.3/bin/startup.sh
7、访问kibana
http://192.168.139.98:5601
如果没有连接elasticsearch,则会有以下 错:
注:如果开启了配置基于nginx的kibana安全设置,访问kibana时候需要启动nginx
logstash的安装和启动
1、logstash下载地址(用来读取日志,正则分析日志,发送给elasticsearch数据库)
https://www.elastic.co
2、解压安装
cd /usr/local
tar -zxvf logstash-6.2.3.tar.gz
删除logstash的压缩包
rm -fr logstash-6.2.3.tar.gz
3、优化logstash jvm配置(根据实际情况来设置)
vim /usr/local/logstash-6.2.3/config/jvm.options
-Xms200M
-Xmx200M
3、logstash配置”logstash.conf”文件(默认没有该文件,需要自己新建这个文件)
vim /usr/local/logstash-6.2.3/config/logstash.conf
输入如下内容:
input {
file {
path => “/var/log/elk/kibana/kibana_access.log”
}
}
output {
elasticsearch {
hosts => [“http://127.0.0.1:9200”]
}
}
参数说明:
path => “
/var/log/elk/kibana/kibana_access.log”:”
/var/log/elk/kibana//kibana_access.log”这个是一个访问日志(该日志在”kibana安全设置”一文中的nginx.conf配置文件里设置过),这个日志需要实时更新,使用/var/log/message这个日志也可以!
4、logstash的启动脚本:
创建logstash日志文件目录
mkdir logstash
vim /usr/local/logstash-6.2.3/bin/startup.sh
输入如下内容:
nohup /usr/local/logstash-6.2.3/bin/logstash -f /usr/local/logstash-6.2.3/config/logstash.conf >>/var/log/elk/logstash/logstash.log 2>>/var/log/elk/logstash/logstash.log &
给脚本增加执行权限
chmod +x /usr/local/logstash-6.2.3/bin/startup.sh
5、启动logstash
/usr/local/logstash-6.2.3/bin/startup.sh
logstash的启动时间会有点慢,等启动过后查看kibana的界面,会有可以创建索引的地方。
6、基本展示
输入”logstash*”,之后点击”Next step”
接着选择”@timestamp”
日志收集成功!
至此elk的环境已经搭建完毕!
声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!