企业级ELK实战之(1)环境搭建

环境准备

安装软件信息

环境说明

系统版本: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的环境已经搭建完毕!

声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!

(0)
上一篇 2018年10月14日
下一篇 2018年10月14日

相关推荐