首页 > 技术文章 > ELK日志分析平台系统CentOS7环境搭建和基本使用

wanghao1874 原文

一、搭建环境

系统环境:CentOS7

安装iptables:https://blog.csdn.net/momo_mutou/article/details/81739155

jdk1.8:  https://www.cnblogs.com/coder-lzh/p/8746609.html

ElasticSearch: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz

Logstash: https://artifacts.elastic.co/downloads/logstash/logstash-6.5.4.tar.gz

Kibana: https://artifacts.elastic.co/downloads/kibana/kibana-6.5.4-linux-x86_64.tar.gz 

二、Elasticsearch安装配置

1.进入路径并远程下载安装包

$ cd /usr/local

$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz

image

2.解压至/usr/local/目录下并删除安装包

$ tar -zxvf elasticsearch-6.5.4.tar.gz
$ rm -rf elasticsearch-6.5.4.tar.gz

image

3.启动试试

  • 进入安装目录的config配置文件
$ cd elasticsearch-6.5.4/config/
$ vim elasticsearch.yml
# 修改一下ES的监听地址,这样别的机器也可以访问
network.host: 0.0.0.0

# 默认的端口号
http.port: 9200

# enable cors,保证_site类的插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"

#启用单节点
discovery.type: single-node

#默认开启bootstrap检查 关掉
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
  • 启动需要非root,可以新建一个启动用户并设置权限
useradd elk         #创建用户elk
groupadd elk        #创建组elk
useradd elk -g elk  #将用户添加到组

# 修改文件所有者
chown -R elk:elk /usr/local/elasticsearch-6.5.4/
  • 设置内核参数
$ vim /etc/sysctl.conf

增加以下参数

vm.max_map_count=655360

执行生效配置

$ sysctl -p
  • 设置资源参数
$ vim /etc/security/limits.conf

在最后一行添加

* soft nofile 65536
* hard nofile 131072
* soft nproc 65536
* hard nproc 131072
  • 设置用户资源参数
$ vim /etc/security/limits.d/20-nproc.conf
设置elk用户参数
elk    soft    nproc     65536
  • 开放9200端口
# 关闭默认firewalld
$ systemctl stop firewalld.service

# 查看开放端口列表
$ iptables -L –n

# 编辑开放端口信息文件
$ vim /etc/sysconfig/iptables
 
# 添加端口9200端口
-A INPUT -p tcp -m tcp --dport 9200 -j ACCEPT
 
# 重启iptables
service   iptables restart
  • 启动
# 以 elk 用户身份进行启动
$ cd /usr/local/elasticsearch-6.5.4/bin
$ su elk elasticsearch &

image 

# 出现以下json说明启动成功
$ curl http://localhost:9200

 image

# 在自己浏览器输入ip:9200出现以下json则说明成功
http://ip:9200/

image

  • 关闭
# 查找进程号
$ ps -ef | grep elastic
# kill掉这个进程
$ kill -9 进程号

三、Logstash安装配置

1.进入路径并远程下载安装包

$ cd /usr/local

$ wget https://artifacts.elastic.co/downloads/logstash/logstash-6.5.4.tar.gz

image

2.解压至/usr/local/目录下并删除安装包(和上面Elasticsearch安装一样我就不截图啦)

$tar -zxvf logstash-6.5.4.tar.gz
$ rm -rf logstash-6.5.4.tar.gz

3.启动试试

  • 创建配置文件
# 进入配置文件目录
$ cd logstash-6.5.4/config

# 创建一个自定义的配置文件
$ vim logstash.conf

# 输入最简单的配置- 使用 input 和 output 定义收集日志时的输入和输出的相关配置
input { stdin { } }
output {
    stdout { codec=> rubydebug }
}
  • 启动
# 进入安装包的bin目录
$ cd /logstash-6.5.4/bin

# 启动并指定配置文件 - 我输入了hello world! 出现如下图则说明成功启动
$  ./logstash -f /usr/local/logstash-6.5.4/config/logstash.conf

image

  • 使用Elasticsearch来收集Logstash的日志数据
# 进入配置文件目录
$ cd /logstash-6.5.4/config

# 创建一个自定义的配置文件
$ vim logstash-test.conf

# 输入最简单的配置- 使用 input 和 output 定义收集日志时的输入和输出的相关配置
input { stdin { } }
output {
    elasticsearch {hosts => "192.168.30.132:9200" } #elasticsearch服务地址
    stdout { codec=> rubydebug }
}
 
# 同上启动步骤 进入bin,不过这次指定的配置文件是新建的文件 - 我输入了hello world ~ 出现如下图则说明成功 
$ ./logstash -f /usr/local/logstash-6.5.4/config/logstash-test.conf

image

 image

恭喜~现在你已经成功利用Logstash收集日志数据给Elasticsearch查询了~~~~

四、kibana的安装

1.进入路径并远程下载安装包

 image

2.解压至/usr/local/目录下并删除安装包(和上面Elasticsearch安装一样我就不截图啦)

$ tar -zxvf kibana-6.5.4-linux-x86_64.tar.gz
$ mv kibana-6.5.4-linux-x86_64 kibana-6.5.4 # 修改一下文件名称
$ rm -rf kibana-6.5.4-linux-x86_64.tar.gz 

3.启动试试

  • 修改配置文件
$ cd /usr/local/kibana-6.5.4/config #进入安装的配置目录

$ vim kibana.yml # 修改文件

# 修改以下参数
server.port: 5601          # 开启默认端口5601
server.host: "0.0.0.0"     # 默认值 : “localhost”,此设置指定后端服务器的主机 
elasticsearch.url: "http://localhost:9200"   # 指向elasticsearch服务的ip地址
kibana.index: “.kibana”
  • 开放5601端口
# 关闭默认firewalld
$ systemctl stop firewalld.service

# 查看开放端口列表
$ iptables -L –n

# 编辑开放端口信息文件
$ vim /etc/sysconfig/iptables
 
# 添加端口9200端口
-A INPUT -p tcp -m tcp --dport 5601 -j ACCEPT
 
# 重启iptables
$ service iptables restart
  • 启动
$ cd /usr/local/kibana-6.5.4/bin
$ ./kibana &
 
# 注意哈
# 关闭我都用的kill哈哈哈 参考上面的步骤就行~
# 如果你之前启动的都停止了,需要按照之前启动步骤把Elasticsearch和Logstash启动,这样才可以完整的操作ELK~~~
# 在自己浏览器访问ip:5601出现以下界面~那么恭喜你~成功~
# 新建index步骤和Windows模式一样一样的,在这里就不重复啦~可参考 https://www.cnblogs.com/wanghao1874/p/10150236.html

image

到现在为止最基本的搭建和使用就完成了~欢迎大家补充指正~

以下是我遇到问题的参考链接(非常非常感谢~)

ELK步骤搭建

https://www.cnblogs.com/yypbingo/p/6839555.html

Elasticsearch5-启动检查(Bootstrap Checks)问题

https://yq.aliyun.com/ziliao/417380 

https://blog.csdn.net/u012832088/article/details/80653951

Logstash启动实时收集日志

https://blog.csdn.net/qq_32292967/article/details/78622647

netstat 查看端口占用情况

https://blog.csdn.net/weixin_40425640/article/details/79065225

推荐阅读