安装elasticsearch集群,kibana可视化,filebeat采集nginx日志,同时增加supervisor管理这3个服务

准备:关闭防火墙,关闭selinux,更改主机名,主机名与ip地址映射,机器重启,免密码登录,时钟同步,安装jdk
参考了此文档:
https://www.cnblogs.com/chong-zuo3322/p/13371329.html
https://www.cnblogs.com/eeexu123/p/11608669.html

【安装elasticsearch集群】
一、修改三台主机的hosts和hostname。
    三台主机IP分别为:
    192.168.56.104    debian1    
    192.168.56.106    debian3
    192.168.56.107    debian4
    
二、安装openjdk
    这里没有安装jdk(甲骨文收费了),其实openjdk一样用
    apt-cache search jdk
    查看apt安装支持哪些版本
    apt-get install openjdk-11-jdk openjdk-11-jre


三、下载ES的安装包
    https://www.elastic.co/cn/downloads/elasticsearch
    https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.1-linux-x86_64.tar.gz

四、修改服务器配置环境
    1)、切换到root用户:
    
    2)、修改 /etc/security/limits.conf 文件,在后面添加
    * soft nofile 65537
    * hard nofile 65537
    * soft nproc 65537
    * hard nproc 65537
    * hard memlock unlimited
    * soft memlock unlimited

    
    3)、修改 /etc/sysctl.conf 文件,在后面添加
    vm.max_map_count=262144

    4)、立即生效命令:
    sudo sysctl -p
    
    5)、修改 /etc/systemd/system.conf 文件,在后面添加
    DefaultLimitNOFILE=65536
    DefaultLimitNPROC=32000
    DefaultLimitMEMLOCK=infinity
    
    6)、重启服务器
    
    7)、依次设置3台服务器
    
    
五、创建es文件夹,将下载的es安装包解压到此文件夹下
    sudo mkdir /es
    sudo mv elasticsearch-7.9.1-linux-x86_64.tar.gz /es
    sudo tar -zxvf elasticsearch-7.9.1-linux-x86_64.tar.gz
    cd elasticsearch-7.9.1
    mkdir datas
    其他2台服务器依次设置
    
六、创建elastic用户
    sudo useradd elastic
    sudo passwd elastic
    修改/etc/sudoers,增加其管理员权限
    sudo chown -R elastic:elastic /es
    其他2台服务器依次设置
    
七、修改config/elasticsearch.yml配置文件
    切换到elastic用户,执行./bin/elasticsearch启动
    如果有报错,根据情况调整即可。
    我这里主要是参数写错了,根据提示修改就好了。
    如果提示Exception in thread "main" java.nio.file.AccessDeniedException
    则再次执行sudo chown -R elastic:elastic /es即可。
    
八、从浏览器中依次访问ES的9201端口,即可判定服务是否正常启动。
    http://192.168.56.106:9201/
    访问集群信息
    http://192.168.56.106:9201/_cat/health?v
    
九、Chrome安装elasticsearch head
    https://www.cnblogs.com/bu-dong/p/11578027.html
    
    
【安装kibana】
一、下载安装包
    https://www.elastic.co/cn/downloads/kibana
    wget https://artifacts.elastic.co/downloads/kibana/kibana-7.9.1-linux-x86_64.tar.gz
    
二、解压修改配置文件启动即可
    配置文件路径:./config/kibana.yml
    启动文件:./bin/kibana
    
    备注:server.host只能填写IP地址,填写别名,无法正常访问,有点奇怪。
    
三、浏览器中访问
    http://192.168.56.104:5601/
    
    
【安装Filebeat】
一、下载安装包
    https://www.elastic.co/cn/downloads/beats/filebeat
    https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.9.1-linux-x86_64.tar.gz
    
二、解压缩后,修改配置文件
    其实安装可以根据kibana页面上面的提示进行即可
    配置文件就是当前目录的filebeat.yml
    output.elasticsearch:
      hosts: ["<es_url>"]
      username: "elastic"
      password: "<password>"
    setup.kibana:
      host: "<kibana_url>"
      
      启用和配置nginx模块
      ./filebeat modules enable nginx
      
      修改nginx配置文件 modules.d/nginx.yml  
      填写一下access和error日志的路径即可
      
      启动文件:
        ./filebeat setup
        ./filebeat -e   #这个命令可以看到启动后的详细信息。
        
      注意:日志文件可能不允许其他用户读,所以要给相应的权限。比如
      chmod a+r access.log  error.log
      
      然后查看nginx日志模板即可看到数据
      
      
【安装supervisor】
参考此文档:https://www.cnblogs.com/lege/p/4228984.html
            https://blog.csdn.net/u012129607/article/details/81354113
一、安装
    sudo apt-get install supervisor
    
二、配置
    cd /etc/supervisor
    # supervisord.conf是supervisor的主配置文件,定义服务名称以及接口等;
    在主配置文件 supervisord.conf 中添加如下配置,即可支持web浏览器界面管理。但是个人建议不要使用,命令行足够了。
    [inet_http_server]
    port = 192.168.56.104:9001
    username = supervisor
    password = 123456
    
    # conf.d目录,存放supervisor监管的进程配置信息,一个进程有一个对应的配置文件。
    
    在conf.d目录下创建配置文件  elasticsearch.conf ;正确的内容如下(注意创建日志文件目录和授权访问)
    {正确的配置}
    [program:elasticsearch]
    user=elastic
    command=sh /es/elasticsearch-7.9.1/bin/elasticsearch
    autostart=true
    directory=/es/elasticsearch-7.9.1/bin
    autorestart=true
    startsecs=5
    startretries=100
    redirect_stderr=true
    stdout_logfile=/var/log/supervisor/es/access.log
    stderr_logfile=/var/log/supervisor/es/error.log

    这里耽误了很长时间,主要还是不熟悉supervisor的使用。
    [错误的配置1]
    user=elastic
    command="/etc/supervisor/conf.d/elasticsearch.py"
    autostart=true
    directory=/es/elasticsearch-7.9.1/bin
    autorestart=true
    startsecs=5
    startretries=100
    redirect_stderr=true
    stdout_logfile=/var/log/supervisor/es/access.log
    stderr_logfile=/var/log/supervisor/es/error.log    
    这样写会始终提示第一行后面有\n字符,搞的我各种去这个字符,无果
    
    [错误的配置2]
    [program:elasticsearch.py]
    user=elastic
    command="/etc/supervisor/conf.d/elasticsearch.py"
    autostart=true
    directory=/es/elasticsearch-7.9.1/bin
    autorestart=true
    startsecs=5
    startretries=100
    redirect_stderr=true
    stdout_logfile=/var/log/supervisor/es/access.log
    stderr_logfile=/var/log/supervisor/es/error.log    
    不可执行,这时候可以登录到web管理界面,有一定的提示,比较容易排除问题

三、下载ES的安装包
    /usr/bin/python2 /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
    /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
    上面2个命令都是启动supervisord服务的
    
    修改配置文件后需要重新reload
    supervisorctl reload
    
    命令行输入supervisorctl就可以看到守护的进程

【supervisor维护elasticsearch、kibana、Filebeat】
    在conf.d目录下创建配置文件  elasticsearch.conf ;正确的内容如下(同时注意创建日志文件目录和授权访问)
    {elasticsearch正确的配置}
    [program:elasticsearch]
    user=elastic
    command=sh /es/elasticsearch-7.9.1/bin/elasticsearch
    autostart=true
    directory=/es/elasticsearch-7.9.1/bin
    autorestart=true
    startsecs=5
    startretries=100
    redirect_stderr=true
    stdout_logfile=/var/log/supervisor/es/access.log
    stderr_logfile=/var/log/supervisor/es/error.log
    
    注意:在维护elasticsearch服务时,会报这样一个错误“elasticsearch-env: line 122: syntax error near unexpected token `<'”(通过查看日志文件可知)
    解决方法是修改elasticsearch-env文件的第122行:
    done < <(env)
    【<改成三连,括号改成单引号】
    done <<<'env'
    
    {kibana正确的配置}
    [program:kibana]
    user=elastic
    command=sh /es/kibana-7.9.1-linux-x86_64/bin/kibana
    autostart=true
    directory=/es/kibana-7.9.1-linux-x86_64/bin
    autorestart=true
    startsecs=5
    startretries=100
    redirect_stderr=true
    stdout_logfile=/var/log/supervisor/kibana/access.log
    stderr_logfile=/var/log/supervisor/kibana/error.log

    {Filebeat正确的配置}
    [program:filebeat_nginx]
    user=elastic
    command=/es/filebeat-7.9.1-linux-x86_64/filebeat setup -e
    autostart=true
    directory=/es/filebeat-7.9.1-linux-x86_64
    autorestart=true
    startsecs=5
    startretries=100
    redirect_stderr=true
    stdout_logfile=/var/log/supervisor/filebeat_nginx/access.log
    stderr_logfile=/var/log/supervisor/filebeat_nginx/error.log
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扬子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值