ELK的搭建

Lecea ·
更新时间:2024-11-14
· 529 次阅读

ELK 官网:

https://www.elastic.co/cn/what-is/elk-stack

前提:关闭防火墙,关闭selinux

systemctl stop firewalld

setenforce 0
系统优化:

[root@node1 ~]# cat /etc/security/limits.conf |tail -n 15 * soft nproc 65535 * soft nofile 65535 * hard nproc 65535 * hard nofile 65535

vm.max_map_coun=655360

三个组件都安装到一台服务器上

129:ES+kibana

131:logstash

1 安装jdk

rpm -ivh jdk-8u131-linux-x64_.rpm

2 配置elasticsearch 的yum源

[root@node1 ~]# cat /etc/yum.repos.d/elasticsearch.repo [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md yum install elasticsearch 配置开机自启动 [root@node1 ~]# systemctl enable elasticsearch.service 开启服务 [root@node1 ~]# systemctl start elasticsearch.service 验证服务是否启动 ```bash [root@localhost elasticsearch]# netstat -lptnu|grep java tcp6 0 0 127.0.0.1:9200 :::* LISTEN 51790/java tcp6 0 0 ::1:9200 :::* LISTEN 51790/java tcp6 0 0 127.0.0.1:9300 :::* LISTEN 51790/java tcp6 0 0 ::1:9300 :::* LISTEN 51790/java

监听端口:

9200作为Http协议,主要用于外部通讯

9300作为Tcp协议,ES集群之间是通过9300进行通讯
配置文件路径:

[root@localhost elasticsearch]# ll /etc/elasticsearch/ total 36 -rw-rw----. 1 root elasticsearch 199 Nov 7 01:56 elasticsearch.keystore -rw-rw----. 1 root elasticsearch 2869 Oct 15 23:31 elasticsearch.yml -rw-rw----. 1 root elasticsearch 3685 Oct 15 23:31 jvm.options -rw-rw----. 1 root elasticsearch 13085 Oct 15 23:31 log4j2.properties -rw-rw----. 1 root elasticsearch 473 Oct 15 23:31 role_mapping.yml -rw-rw----. 1 root elasticsearch 197 Oct 15 23:31 roles.yml -rw-rw----. 1 root elasticsearch 0 Oct 15 23:31 users -rw-rw----. 1 root elasticsearch 0 Oct 15 23:31 users_roles [root@huazai007 ~]# cat /etc/elasticsearch/elasticsearch.yml |grep -v '^#' path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch network.host: 172.18.47.110 http.port: 9200

日志文件路径:

[root@localhost elasticsearch]# pwd /var/log/elasticsearch [root@localhost elasticsearch]# ll total 48 -rw-r--r--. 1 elasticsearch elasticsearch 0 Nov 7 01:58 elasticsearch_access.log -rw-r--r--. 1 elasticsearch elasticsearch 0 Nov 7 01:58 elasticsearch_audit.log -rw-r--r--. 1 elasticsearch elasticsearch 0 Nov 7 01:58 elasticsearch_deprecation.log -rw-r--r--. 1 elasticsearch elasticsearch 0 Nov 7 01:58 elasticsearch_index_indexing_slowlog.log -rw-r--r--. 1 elasticsearch elasticsearch 0 Nov 7 01:58 elasticsearch_index_search_slowlog.log -rw-r--r--. 1 elasticsearch elasticsearch 8502 Nov 7 01:58 elasticsearch.log -rw-r--r--. 1 elasticsearch elasticsearch 35454 Nov 7 02:00 gc.log.0.current

常用命令:

验证服务

curl -X GET http://127.0.0.1:9200

elasticsearch 查看集群统计信息

curl -XGET ‘http://localhost:9200/_cluster/stats?pretty’

查看集群状态

curl -X GET ‘localhost:9200/_cat/health?v’

创建索引:test_index

curl -X PUT HTTP://localhost:9200/test_index?pretty

elasticsearch 查看所有索引

curl -X GET HTTP://localhost:9200/_cat/indices?v

删除索引:test_index

curl -XDELETE ‘localhost:9200/test_index?pretty’

3 logstash 安装
配置logstash yum 源

[logstash-6.x] name=Elastic repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md

yum install logstash

配置文件路径:

[root@localhost logstash]# pwd /etc/logstash [root@localhost logstash]# ll total 36 drwxrwxr-x. 2 root root 6 Oct 16 00:57 conf.d -rw-r--r--. 1 root root 1915 Oct 16 00:57 jvm.options -rw-r--r--. 1 root root 4568 Oct 16 00:57 log4j2.properties -rw-r--r--. 1 root root 342 Oct 16 00:57 logstash-sample.conf -rw-r--r--. 1 root root 8236 Nov 7 02:33 logstash.yml -rw-r--r--. 1 root root 285 Oct 16 00:57 pipelines.yml -rw-------. 1 root root 1696 Oct 16 00:57 startup.options

日志文件路径:

[root@localhost logstash]# pwd /var/log/logstash [root@localhost logstash]# ll total 4 -rw-r--r--. 1 logstash logstash 1644 Nov 7 02:36 logstash-plain.log -rw-r--r--. 1 logstash logstash 0 Nov 7 02:35 logstash-slowlog-plain.log

logstash是用来收集日志,并对日志做过滤处理的,我们下面要分析的是系统日志,所以要编写一个收集日志的配置文件

vim /etc/logstash/conf.d/system.conf

input日志输入模块:日志的获取方式和路径input { file { path => "/var/log/messages" type => "system-log" start_position => "beginning" } } output日志的输出模块:导出你的数据 output { elasticsearch { hosts => "192.168.10.129:9200" index => "system_log-%{+YYYY.MM.dd}" } }

这里为了测试,将/var/log/messages日志的权限修改为了644

chmod 777 /var/log/messages

如果conf.d 下有多个配置文件需要修改pipelines.yml(管道)文件

- pipeline.id: main path.config: "/etc/logstash/conf.d/system.conf" - pipeline.id: sec path.config: "/etc/logstash/conf.d/sec.conf"

配置开机自启动

[root@localhost ~]# systemctl enable logstash.service

启动logstash服务

[root@localhost ~]# systemctl start logstash.service

监听端口:

[root@localhost logstash]# netstat -lptnu|grep java tcp6 0 0 127.0.0.1:9600 :::* LISTEN 6722/java

4 安装kibana

配置yum 源

[kibana-6.x] name=Kibana repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md [root@localhost ~]#systemctl enable kibana.service [root@localhost ~]#systemctl start kibana

配置kibana

这里只需要配置监听地址和elasticsearch的ip就可以了

vim /etc/kibana/kibana.yml [root@localhost yum.repos.d]# cat /etc/kibana/kibana.yml |grep -v "^#" server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["http://192.168.153.172:9200"]

启动服务:

Systemctl start kibana

监听端口:5601

在kibana上创建索引

在这里插入图片描述
给系统日志添加可视化图形
在这里插入图片描述
选择创建图形类型为线形图
在这里插入图片描述

选择绘画哪个索引的图形
在这里插入图片描述
选择x轴为绘画日期的柱状图,然后点击开始获取数据
在这里插入图片描述


作者:RDZ-hyd



elk

需要 登录 后方可回复, 如果你还没有账号请 注册新账号