ELK(使用RPM包安装配置ELK)
1,安装环境查看
2,下载rmp包
下载地址:https://www.elastic.co/cn/downloads 分别下载最新rmp包
1 2 3 | elasticsearch - 6.2 . 4.rpm logstash - 6.2 . 4.rpm kibana - 6.2 . 4 - x86_64.rpm |
下载rpm包
1 2 3 | wget https: / / artifacts.elastic.co / downloads / elasticsearch / elasticsearch - 6.2 . 4.rpm wget https: / / artifacts.elastic.co / downloads / logstash / logstash - 6.2 . 4.rpm wget https: / / artifacts.elastic.co / downloads / kibana / kibana - 6.2 . 4 - x86_64.rpm |
3,安装
需要事先安装java
1 | yum - y install java |
安装elasticssearch
1 | rpm - ivh elasticsearch - 6.2 . 4.rpm |
安装logstash
1 | rpm - ivh logstash - 6.2 . 4.rpm |
安装kibana
1 | rpm - ivh kibana - 6.2 . 4 - x86_64.rpm |
4,配置
修改elasticsearch配置文件/etc/elasticsearch/elasticsearch.yml
1 2 3 4 5 6 7 | cluster.name: myes #集群名字 node.name: node - 1 #node名字 path.data: / nas / ELK / es - data #日志数据路径 path.logs: / var / log / elasticsearch #日志路径 bootstrap.memory_lock: false network.host: 192.168 . 56.12 #本机地址 http.port: 9200 #开启端口9200 |
修改日志数据文件夹权限(不修改无法启动)
1 | chown - R elasticsearch.elasticsearch / nas / ELK / es - data / |
启动
1 2 | systemctl start elasticsearch systemctl enable elasticsearch |
访问测试
搜索测试
1 | curl - i - XGET 'http://192.168.56.12:9200/_count?' |
安装head插件
参考:ELK(Elasticsearch6.0及其head插件安装)
打开head插入数据
插入后浏览
暂时未做集群
集群健康状态检查
1 | curl - XGET 'http://192.168.56.12:9200/_cluster/health?pretty=true' |
5,logstash实战
logstash用于日志收集
启动(标准输入标准输出模式)启动需要一点点时间
1 | / usr / share / logstash / bin / logstash - e 'input { stdin{} } output { stdout{} }' |
以json方式输出
1 | / usr / share / logstash / bin / logstash - e 'input { stdin{} } output { stdout{ codec ==> rubydebug } }' |
PS:stdin和stdout和后面{}不能有空格,否则无法运行
输出到es
1 | / usr / share / logstash / bin / logstash - e 'input { stdin{} } output { elasticsearch { hosts => ["192.168.56.12:9200"] index => "logstash-%{+YYYY.MM.dd}" } }' |
命令行输入没反应
查看head的web界面
在命令行输出以及输入到es
1 | / usr / share / logstash / bin / logstash - e 'input { stdin{} } output { stdout{ codec => rubydebug } elasticsearch { hosts => ["192.168.56.12:9200"] index => "logstash-%{+YYYY.MM.dd}" } }' |
通过配置文件来收集日志
默认配置文件夹为/etc/logstash/conf.d/进入该文件夹编写配置文件demo.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | input { stdin{} } filter { } output{ elasticsearch{ hosts = > [ "192.168.56.12:9200" ] index = > "logstach-%{+YYYY.MM.dd}" } stdout{ codec = > rubydebug } } |
PS:配置文件必须包含input和output filter是可选的,每个里面放置各自的插件,每个插件也有大括号包含。
通过加载配置文件启动
1 | / usr / share / logstash / bin / logstash - f / etc / logstash / conf.d / demo.conf |
写一个收集文件日志的文件file.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | input { file { path = > [ "/var/log/message" , "/var/log/secure" ] type = > "system-log" start_position = > "beginning" } } filter { } output{ elasticsearch{ hosts = > [ "192.168.56.12:9200" ] index = > "system-log-%{+YYYY.MM}" } } |
收集path指定的两个文件日志并且输出至es
在head查看
6,kibana使用
修改配置文件/etc/kibana/kibana.yml
1 2 3 4 | server.port: 5601 server.host: "0.0.0.0" elasticsearch.url: "http://192.168.56.12:9200" kibana.index: ".kibana" |
启动
1 | systemctl start kibana |
web页面访问http://192.168.56.12:5601
通过索引导入日志
排错
elasticsearch启动报错
解决办法
修改配置文件/etc/elasticsearch/elasticsearch.yml
1 | bootstrap.memory_lock: false |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2017-05-31 Python 之反射和普通方式对比(模拟Web框架)