1.基础环境准备
1.关闭防火墙
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
#查看selinux
getenforce
关闭selinux
setenforce 0
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
2.检查jdk环境
which java
ll -rt /etc/alternatives/java
#c查看所安装的jdk
yum list installed | grep java
#卸载jdk
yum -y remove java-1.8.0-openjdk*
#查看现在使用的jdk
java -version
#安装jdk
yum -y install java-1.8.0-openjdk.x86_64
cp -r /root/pk/java-1.8.0 /usr/java/
vim /etc/profile
#set java environment
JAVA_HOME=/usr/java/java-1.8.0
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
#生效配置并生效
source /etc/profile
java -version
3.创建elk运行用户
#因为elk这些组件默认不在root下运行
#添加用户组添加用户
groupadd elsearch
useradd -g elsearch elsearch -p elsearch
4.下载elk环境所需的包
mkdir -p /data/mat
cd /data/mat
#es安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.0-linux-x86_64.tar.gz
#logstash安装包
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.14.0-linux-x86_64.tar.gz
#kibana安装包
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.14.0-linux-x86_64.tar.gz
#赋予elk目录用户的权限
chown -R elsearch:elsearch /data/mat/*
5.修改操作系统参数
#使用 root 用户先进行以下内容的配置
cp /etc/security/limits.conf /etc/security/limits.conf.bak2021_04_26
vim /etc/security/limits.conf
#添加如下内容:
elsearch soft nofile 65536
elsearch hard nofile 65536
elsearch soft memlock unlimited
elsearch hard memlock unlimited
#limits.d/目录不一定是90-nproc.conf 也有时是20-nproc.conf
vim /etc/security/limits.d/90-nproc.conf
soft nproc 1024 修改为 soft nproc 4096
* soft nproc 4096
root soft nproc unlimited
echo vm.max_map_count=655360 >> /etc/sysctl.conf
[root@centos06 limits.d]# sysctl -p
vm.max_map_count = 655360
2.组件应用配置
1.es部署配置
1.解压安装es
cd /data/mat/
tar -xzvf elasticsearch-7.14.0-linux-x86_64.tar.gz
2.修改es的启动运行内存
#指定运行内存大小
vim /data/mat/elasticsearch-7.14.0/config/jvm.options
31 -Xms512m
32 -Xmx512m
#elasticsearch 限制 root 用户不能启动,请使用用户 elsearch 启动
su - elsearch
#后台运行es,没有-d的话就是前台运行
./elasticsearch -d
#测试访问
curl 10.0.40.72:9200
#关闭
#查找进程ID
ps -aux | grep elasticsearch
#Kill杀掉es进程
kill -9 40745
3.修改es配置文件
cp /data/mat/elasticsearch-7.14.0/config/elasticsearch.yml /data/mat/elasticsearch-7.14.0/config/elasticsearch.yml.bak
vim /data/mat/elasticsearch-7.14.0/config/elasticsearch.yml
#es集群名称
cluster.name: my-es
#0.0.0.0 允许外部访问
network.host: 0.0.0.0
#节点名,默认随机指定一个name列表中名字
node.name: node1
#指定该节点是否有资格被选举成为node,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master。
node.master: true //单机不需要配置
#设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开,例:
path.data: /path/to/data //一般只需要指定一个
path.data: /path/to/data1,/path/to/data2
#指定日志存放位置
path.logs: /data/mat/log/eslogs/
#设置对外服务的http端口,默认为9200
http.port: 9200
#集群内节点添加
cluster.initial_master_nodes: ["node-1"]
4.ES安装成功验证
浏览器访问:http://X.X.X.X.:9200/
2.logstash部署配置
1.解压安装logstash
cd /data/mat/
tar -zxvf logstash-7.14.0-linux-x86_64.tar.gz
2.配置logstash
#创建自定义日志扫描配置
vim /data/mat/logstash-7.14.0/config/LogzabAgent.conf
input {
file {
#可以根据需求指定日志文件
path => "/var/log/zabbix/zabbix_agentd.log"
#一json格式
codec => "json"
#自定义日志类型标识
type => "zibbix"
#表示从开始出收集
start_position => "beginning"
}
}
#过滤器
filter {
}
#输出到指定位置
output {
#输出进行格式化,采用Rubu库来解析日志
stdout { codec => rubydebug }
elasticsearch {
#设置elasticsearch的ip地址和端口号
hosts => ["10.0.40.72:9200"]
#设置搜索索引 就是个搜索名字可任意
index => "es-%{+YYYY.MM.dd}"
}
}
3.本地加载测试
#防止没有权限读取日志文件
chmod 755 /var/log/*
cd /data/mat/logstash-7.14.0
# -f 指定自定义的扫码配置文件
./bin/logstash -f config/Logconf/LogNg.conf
#配置软连接
ln -s /data/mat/logstash-7.14.0/bin/logstash /usr/local/bin/
#配置完毕软连接可以使用
logstash -f config/Logconf/LogNg.conf
#检查是否有黄色的日志显示 #如果长时间未显示可能是没有日志信息。需要新的加入
4.设置多个扫描文件应用
#删除之前加载的缓存文件
cd /data/mat/logstash-7.14.0/data
#lock 为隐藏文件 ll -a 查看
rm -rf ./lock
#修改加载扫描的配置文件
vim /data/mat/logstash-7.14.0/config/pipelines.yml
#指定管道的id
13 - pipeline.id: zabbix
14 pipeline.workers: 1
15 pipeline.batch.size: 1
#指定扫描文件位置
16 path.config: "/data/mat/logstash-7.14.0/config/Logconf/LogzabAgent2.conf"
17 - pipeline.id: nginx
18 queue.type: persisted
19 path.config: "/data/mat/logstash-7.14.0/config/Logconf/LogNg.conf"
#启动
cd /data/mat/logstash-7.14.0
./bin/logstash
3.Kibana部署配置
1.下载并解压Kibana
#解压
tar -zxvf kibana-7.14.0-linux-x86_64.tar.gz
2.修改Kibanna配置
vim /data/mat/kibana-7.14.0-linux-x86_64/config/kibana.yml
#端口地址
server.port: 5601
#允许外部所有访问 localhots只能本地访问
server.host: "0.0.0.0"
#和es建立连接的地址
lasticsearch.hosts: ["http://10.0.40.72:9200"]
3.启动Kibanna
cd /data/mat/kibana-7.14.0-linux-x86_64/
nohup ./bin/kibana &
#访问
http://10.0.40.72:5601
3.Kibanna前端展示
1.访问kibana网页平台
http://10.0.40.72:5601
2.使用工具查找日志
点击菜单栏选择Dev Tools
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4zeagvwA-1630551604564)(linux单机部署 elk.assets/image-20210821153703290.png)]
GET /es-2021.08.20/_search
{
“query”: {
“match_all”: {}
}
}
3.带条件写法
GET /nginx-2021.08.19/_search
{
“query”: {
“match”: {
“message”: “192.168.102.190”
}
}
}
“message”: "192.168.102.190"查看包涵192.168.102.190的所有数据