文章目录
- ES
- 安装ES
- 启动ES
- 错误处理
- 验证
 
- Kibana
- 安装Kibana
- 启动 Kibana
 
- Logstash
- 安装Logstash
- 启动Logstash
 
- 项目整合
- 引入依赖
- logback-spring.xml
- 启动项目
- 在Kibana中查看
 
链接:点击
 提取码:yyds
ES
安装ES
cat >> /etc/sysctl.conf<<- 'EOF'
net.ipv4.ip_forward=1
vm.max_map_count=655360
EOF
sysctl -p
创建 目录、修改 配置
mkdir -p   /usr/local/elasticsearch/
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz -C /usr/local/elasticsearch/
cd   /usr/local/elasticsearch/elasticsearch-7.8.0
vim  /usr/local/elasticsearch/elasticsearch-7.8.0/config/elasticsearch.yml
修改以下几项:
node.name: node-1 # 设置节点名
network.host: 0.0.0.0 # 允许外部 ip 访问
cluster.initial_master_nodes: ["node-1"] # 设置集群初始主节点
ES为了安全考虑不允许使用root用户启动ElasticSearch,所以需要新建一个普通用户启动程序
adduser es
passwd es
# 12345678
chown -R es /usr/local/elasticsearch
su es 
启动ES
/usr/local/elasticsearch/elasticsearch-7.8.0/bin/elasticsearch -d
错误处理
启动之后可能会报以下三个错误:
ERROR: [3] bootstrap checks failed
 [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
 [2]: max number of threads [3795] for user [es] is too low, increase to at least [4096]
 [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方式:
需 切换到root 用户解决错误:
# 切换到 root 用户
[es@localhost elasticsearch-7.8.0]$ su root
# 然后 输入密码
[1] 和 [2] 的解决方法:
# 修改 /etc/security/limits.conf 文件
[root@localhost elasticsearch-7.8.0]# vim /etc/security/limits.conf
# 添加以下四行
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
[3] 的解决方法:
# 修改 /etc/sysctl.conf 文件
[root@localhost elasticsearch-7.8.0]# vim /etc/sysctl.conf
# 添加下面一行
vm.max_map_count=655360
# 执行命令
[root@localhost elasticsearch-7.8.0]# sysctl -p
切换到用户 es 重新启动程序就可以了。
验证
注意: 防火墙
需要开放9200端口
firewall-cmd --permanent --add-port=9200/tcp
firewall-cmd --permanent --add-port=9200/udp
firewall-cmd --reload 
访问:http://192.168.111.101:9200

su root
# 输入密码
Kibana
安装Kibana
tar -zxvf kibana-7.8.0-linux-x86_64.tar.gz  -C /usr/local/
mv   /usr/local/kibana-7.8.0-linux-x86_64/ /usr/local/kibana-7.8.0 # 改名
cd   /usr/local/kibana-7.8.0/
vim  /usr/local/kibana-7.8.0/config/kibana.yml
修改的内容:
server.port: 5601  # 服务端口
server.host: "0.0.0.0"  # 服务器ip  本机
elasticsearch.hosts: ["http://192.168.111.101:9200"] # Elasticsearch 服务地址
i18n.locale: "zh-CN"  # 设置语言为中文
授权
chown -R es /usr/local/kibana-7.8.0/
su es
启动 Kibana
注意:启动 Kibana 之前
需要先启动 Elasticsearch
需要先配置防火墙打开5601端口:
firewall-cmd --permanent --add-port=5601/tcp
firewall-cmd --permanent --add-port=5601/udp
firewall-cmd --reload
/usr/local/kibana-7.8.0/bin/kibana          # 前台启动
nohup /usr/local/kibana-7.8.0/bin/kibana &  #后台启动
访问地址:http://192.168.111.101:5601/
 

su root
# 输入密码
Logstash
安装Logstash
tar -zxvf logstash-7.8.0.tar.gz -C /usr/local/
cd /usr/local/logstash-7.8.0/config/
cp logstash-sample.conf  logstash-es.conf
vi logstash-es.conf 
替换为:
input{
    tcp{
        port => 9601
        codec => json_lines
   }
}
output{
     # 这个是logstash的控制台打印(进行安装调试的时候开启,稍后成功后去掉这个配置即可!)
     stdout{
      codec => rubydebug
     }
     #elasticsearch的配置
     elasticsearch{
      hosts => ["192.168.111.101:9200"]
      # 索引名称,没有会自动创建
      index => "logstash-%{[server_name]}-%{+YYYY.MM.dd}"
     }
}
启动Logstash
cd /usr/local/logstash-7.8.0/
./bin/logstash -f ./config/logstash-es.conf
成功启动!
 
项目整合
引入依赖
<dependency>
   <groupId>net.logstash.logback</groupId>
   <artifactId>logstash-logback-encoder</artifactId>
   <version>6.3</version>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
</dependency>
logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!--控制台输出-->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%yellow(%d{yyyy-MM-dd HH:mm:ss.SSS}) %highlight(%-5level) ${PID:-} [%thread] %cyan(%logger{50}.%M.%L) : %highlight(%msg) %n
            </Pattern>
        </layout>
    </appender>
    <!-- 输出到 STASH -->
    <appender name="STASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>192.168.111.101:9601</destination>
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
        <encoder class="net.logstash.logback.encoder.LogstashEncoder">
            <!-- 打印行号、方法名,官方 不建议在 生产环境开启,默认为 false,开启耗时=360*未开启-->
            <includeCallerData>true</includeCallerData>
            <!-- 设置时区-->
            <timeZone>UTC</timeZone>
            <!-- 日期格式化-->
            <!-- 添加自定义属性,server_name 是 服务名-->
            <customFields>{"server_name":"demo-server"}</customFields>
        </encoder>
        <!--  设置超时 时间,默认没有,使用集群时可以使用!-->
        <!--<writeTimeout>30 seconds</writeTimeout>-->
    </appender>
    <root level="INFO">
        <!--        控制台输出打开,线上部署时将控制台输出关闭!!!-->
        <appender-ref ref="STASH"/>
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>
日志的格式:
 
 输出到 logstash:
 
启动项目
可以看到 有日志
 
在Kibana中查看

 可以在这里管理索引
 

 
 
 再次点击Discovery即可
 
 












![[附源码]Python计算机毕业设计动漫网站Django(程序+LW)](https://img-blog.csdnimg.cn/b87f0f24a3514af3a3d1b1ed38c1c599.png)





