查看原文
其他

ELK实时日志分析系统搭建

老李头 运维研习社 2022-11-05


        

系统:CentOS6.5

elasticsearch:5.5.1

kibana:5.5.1

logstash:5.5.1

JDK:1.8

一、下载软件包

https://www.elastic.co/downloads/

二、安装部署

1、JDK

  • tar -xvf jdk-8u45-linux-x64.gz

  • mv /home/src_package/jdk1.8.0_45 /usr/local/

  • vim /etc/profile

2、elasticsearch

将tar.gz压缩包解压到/

  • unzip elasticsearch-5.5.1.zip

  • mv elasticsearch-5.5.1 elasticsearch

  • vim elasticsearch/config/elasticsearch.yml

修改如下配置:

  • cluster.name: es

  • path.data: /data/ELK/data

  • path.logs: /data/ELK/logs

  • bootstrap.mlockall: true

  • network.host: 0.0.0.0

  • http.port: 9200

启动:

启动前先添加elasticsearch的用户,为了安全不允许root直接启动

  • bin/elasticsearch

安装elasticsearch5以上,会出现很多问题,這里把问题记录一下

错误一、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

解决方法:

在/etc/security/limits.conf中添加如下两行:

elasticsearch hard nofile 65536

elasticsearch soft nofile 65536

当然,我的启动用户设置为elasticsearch,如果你是其他的需要改一下

错误二:memory locking requested for elasticsearch process but memory is not locked

该错误原因是在elasticsearch.yml配置文件中开启了bootstrap.memory_lock: true,建议生产环境开启

解决方法:

在/etc/security/limits.conf中添加如下两行

baoshan soft memlock unlimited

baoshan hard memlock unlimited

错误三、max number of threads [1024] for user [elasticsearch] is too low, increase to at least [2048]

解决方法:

进入limits.d下的配置文件:vi /etc/security/limits.d/90-nproc.conf ,修改配置如下:

*          soft    nproc     1024  

修改为:  

*          soft    nproc     2048  

错误四:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方法:

修改sysctl文件:vi /etc/sysctl.conf ,增加下面配置项:

增加改行配置:vm.max_map_count=655360  

保存退出后,执行:  

sysctl -p  

错误五、system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

解决方法:

修改elasticsearch.yml文件,增加如下内容:

bootstrap.system_call_filter: false

修改完错误之后以deamoe方式启动 bin/elasticsearch -d

启动后查看9200及9300端口处于监听状态,表示elasticsearch启动成功

通过IP+端口的方式查看:

安装X-Pack插件,官方推荐,5.x版本以后不建议head和kopf,支持不太好,并且安装复杂。

elasticsearch安装X-Pach插件命令bin/elasticsearch-plugin install x-pack

3、Logstash

安装

  • tar -zxvf logstash-5.5.1.tar.gz

  • mv logstash-5.5.1 logstash

  • cd logstash

  • echo "export PATH=\$PATH:/home/web/ELK/logstash/bin" > /etc/profile.d/logstash.sh   配置环境变量

  • . /etc/profile   使配置生效

logstash常用参数

-e :指定logstash的配置信息,可以用于快速测试;

-f :指定logstash的配置文件;可以用于生产环境;

启动

若采用配置文件启动,输出信息到屏幕,添加配置文件如下:

input { stdin {} }

output {

   stdout { codec=> rubydebug }

}


# logstash -f logstash-simple.conf    //普通方式启动

Logstash startup completed


# logstash agent -f logstash-simple.conf --verbose //开启debug模式

Pipeline started {:level=>:info}

Logstash startup completed

hello world.    //手动输入hello world.

{

       "message" => "hello world.",

      "@version" => "1",

    "@timestamp" => "2015-10-08T14:01:43.724Z",

          "host" => "0.0.0.0"

}

或输出信息到redis中,添加配置文件如下:

input { stdin { } }

output {

    stdout { codec => rubydebug }

    redis {

        host => '127.0.0.1'

        data_type => 'list'

        key => 'logstash:redis'

    }

}

  • logstash agent -f logstash_to_redis.conf --verbose  启动

4、redis

安装

這里为了方便,使用yum直接安装

  • yum -y install redis

  • /etc/init.d/redis start

5、kibana

  • tar -zxvf kibana-5.5.1-linux-x86_64.tar.gz

  • mv kibana-5.5.1-linux-x86_64 kibana

  • cd kibana/

vim config/kibana.yml 取消elasticsearch.url: "http://localhost:9200"  前面的注释

启动kibana

  • /bin/kibana

通过IP+端口的方式查看,默认端口是5601

這里要修改kibana.yml中的server.host监听IP,不然无法从外网访问

這里kibana是一直在前台启动的,可以使用nohub来启动,或用screen启动。

6、elasticsearch和logstach结合

将logstash的信息输出到elasticsearch中

  • cat logstash-elasticsearch.conf 

input { stdin {} }

output {

    elasticsearch { hosts => "192.168.1.104" }    

    stdout { codec=> rubydebug }

}

然后基于刚才的配置文件启动logstash

  • logstash -f logstash-elasticsearch.conf

启动之后默认监听端口为9600

用curl命令发送请求查看elasticsearch是否接收到了数据

刷新kibana页面,可以看到可以找到搜到数据,并以logstash-*为索引,点击create创建索引

索引创建完成,查看elasticsearch日志

ELK配置完成。


        



往期精彩内容推荐

【环境配置】如何建立你的HTTPS站点

【开源技术】浅谈Rabbi    tmq

【环境配置】趣玩nginx——限速

【硬件配置】Matrix RAID

【运维开发】运维必备服务器分析shell

【nginx优化】使用socket方式链接Nginx优化php-fpm性能

【开源技术】Redis原理与实践浅析

【网络基础】CIsco设备基础配置

【运维安全】Clam AV——linux杀毒利器

【环境配置】Postfix2.10+ssl+dovecot搭建邮件服务器

【实践分享】Linode VPS和Vultr VPS使用体检对比

【开源技术】Jenkins系列——简介及安装

【开源技术】Jenkins系列——管理及配置

【开源技术】Jenkins系列——项目构建

【开源工具】GoAccess——Web日志分析利器

【开源技术】LVS无损硬盘替换

【运维安全】linux密钥登陆

【linux安全】linux系统之pam模块

【运维安全】SPF——防钓鱼及垃圾邮件技术详解







您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存