一、安装系统
1.安装centos 7 操作系统
2.修改yum源步骤
(1)备份yum自带的源配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
(2)在centos7上直接通过命令下载 未安装wget,需要先安装,执行如下命令:
yum install wget -y
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3.安装jdk
yum install java-1.8.0-openjdk.x86_64
二、安装单机版Elasticsearch
1、基础环境配置
添加用户
出于安全的考虑,elasticsearch不允许使用root用户来启动,所以需要创建一个新的用户,并为这个账户赋予相应的权限来启动elasticsearch集群(赋予权限的操作在后面启动ES的环节)。
#useradd es
(1)修改服务打开文件数
vi /etc/security/limits.conf
* soft nofile 262144
* hard nofile 262144
(2)防止进程虚拟内存不足:
vi /etc/sysctl.conf
#文件尾部设置
vm.max_map_count=262144
(3)使上面的设置生效:
sysctl -p
2、yum安装Elasticsearch
1.下载安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.1-x86_64.rpm
2.安装
rpm -ivh elasticsearch-7.14.1-x86_64.rpm
3.查找安装路径 一般是装在/usr/share/elasticsearch/下。
rpm -ql elasticsearch
4.设置data的目录
创建/data/es-data目录,用于elasticsearch数据的存放
mkdir -p /data/es-data
修改该目录的拥有者为elasticsearch
chown -R elasticsearch:elasticsearch /data/es-data
5.设置log的目录
# 创建/data/es-log目录,用于elasticsearch日志的存放
mkdi r -p /log/es-log
修改该目录的拥有者为elasticsearch
chown -R elasticsearch:elasticsearch /log/es-log
6.修改配置文件elasticsearch.yml
vim /etc/elasticsearch/elasticsearch.yml
#设置data存放的路径为/data/es-data
path.data: /data/es-data
#设置logs日志的路径为/log/es-log
path.logs: /log/es-log
#设置内存不使用交换分区
bootstrap.memory_lock: false#配置了bootstrap.memory_lock为true时反而会引发9200不会被监听,原因不明
#设置允许所有ip可以连接该elasticsearch
network.host: 0.0.0.0
#开启监听的端口为9200
http.port: 9200
cluster.name: my-application
node.name: node-1
# 打开并修改
cluster.initial_master_nodes: ["node-1"]
7.启动Elasticsearch
启动
systemctl start elasticsearch
查看状态
systemctl status elasticsearch
设置开机启动
systemctl enable elasticsearch
开启9200端口
firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --reload
测试是否安装成功,在浏览器上访问
http://192.168.xx.xx:9200/
3、部署Logstash
1.yum安装Logstash
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.14.1-x86_64.rpm
rpm -ivh logstash-7.14.1-x86_64.rpm
2.设置data的目录
创建/data/ls-data目录,用于logstash数据的存放
mkdir -p /data/ls-data
修改该目录的拥有者为logstash
chown -R logstash:logstash /data/ls-data
3.设置log的目录
创建/data/ls-log目录,用于logstash日志的存放
mkdir -p /log/ls-log
修改该目录的拥有者为logstash
chown -R logstash:logstash /log/ls-log
4.修改配置文件logstash.yml
vi /etc/logstash/logstash.yml
# 设置数据的存储路径为/data/ls-data
path.data: /data/ls-data
# 设置管道配置文件路径为/etc/logstash/conf.d
path.config: /etc/logstash/conf.d
# 设置日志文件的存储路径为/log/ls-log
path.logs: /log/ls-log
5.创建测试路径配置文件
cd /etc/logstash/conf.d/
vi sshd.conf
input {
file {
type => "seucure_log"
path => "/var/log/secure"
}
}
filter {
grok {
add_tag => [ "sshd_fail" ]
match => { "message" => "Failed %{WORD:sshd_auth_type} for %{USERNAME:sshd_invalid_user} from %{IP:sshd_client_ip} port %{NUMBER:sshd_port} %{GREEDYDATA:sshd_protocol}" }
}
}
output {
elasticsearch {
index => "sshd_fail-%{+YYYY.MM}"
}
}
6.启动Logstash
systemctl enable logstash
systemctl start logstash
7.测试安装是否成功
查看下logstash的安装目录
rpm -ql logstash
创建一个软连接,每次执行命令的时候不用在写安装路径(yum安装是在/usr/share下)
ln -s /usr/share/logstash/bin/logstash /bin/
执行logstash的命令
logstash -e ‘input { stdin { } } output { stdout {} }’
#等待片刻后出现“The stdin plugin is now waiting for input:”,输入“abc”回车,有返回的输出。
#加载路径配置文件
logstash -f sshd.conf
#用其它终端模拟ssh 失败情况查看日志:
查询es所有索引
curl localhost:9200/_cat/indices?v
查询input 日志
curl localhost:9200/sshd_fail-2023.12/_search?pretty
4、部署Kibana
1.yum安装Kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.14.1-x86_64.rpm
rpm -ivh kibana-7.14.1-x86_64.rpm
2.修改kibana.yml
搜索rpm包
rpm -ql kibana
默认是装在/usr/share/kibana/下。
修改kibana的配置文件
vim /etc/kibana/kibana.yml
3.修改kibana.xml下面的内容,wq保存。
#kibana页面映射在5601端口
server.port: 5601
#允许所有ip访问5601端口
server.host: "0.0.0.0"
#elasticsearch所在的ip及监听的地址
elasticsearch.url: "http://localhost:9200"
kibana.index: ".kibana"
4.启动Kibana
启动
systemctl start kibana
查看状态
systemctl status kibana
设置开机启动
systemctl enable kibana
5.开放端口5601
设置防火墙
firewall-cmd --add-port=5601/tcp --permanent
firewall-cmd --reload