ELK+RabbitMq搭建日志系統


環境准備

1. 三台服務器

         10.1.34.215

         10.1.34.216

         10.1.34.217

2. 全部關閉防火牆和selinux

         systemctl stop firewalld &&  systemctl stop firewalld

         sed -i 's/=enforcing/=disabled/g' /etc/selinux/config  && setenforce 0

3. 全部配置系統環境

         vim /etc/security/limits.conf 添加以下四行 注:星號不可少

         * soft nofile 65536

         * hard nofile 131072

         * soft nproc 2048

         * hard nproc 4096

此處有可能會涉及到啟動報錯

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

報錯的話 將數值改一下即可

          vim /etc/sysctl.conf  添加這行

          vm.max_map_count=655360

          source  /etc/profile  刷新環境

4. 全部安裝java環境

          這里注意查看一下centos有沒有原生的jdk

          rpm -qa | grep jdk

          yum -y remove +上面出來的兩段  分別刪除

然后解壓自己的java配置環境變量

        vim /etc/profile

        export JAVA_HOME=/usr/local/jdk/jdk1.8.0_251  

        export PATH=$JAVA_HOME/bin:$PATH

        export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

這塊注意一個配置完之后  java進行一個軟連接

        ln -s /usr/local/jdk/jdk1.8.0_251/bin/java   /usr/local/bin/java

5. 安裝node.js

    因為head插件是用node.js開發的,所以需要此環境

    https://nodejs.org/en/download/releases/ 選擇先前的版本較好注意選擇xz版本的

          tar -Jxf node-v10.15.3-linux-x64.tar.xz

         vim /etc/profile

         PATH=$PATH:/usr/local/node/node-v10.15.3-linux-x64/bin

         source /etc/profile

         node -v

6. 安裝head插件 10.1.34.215

         wget  https://github.com/mobz/elasticsearch-head/archive/master.zip

         unzip master.zip && mv elasticsearch-head-master/ /usr/local/elasticsearch-head

         cd /usr/local/elasticsearch-head

         npm install -g cnpm --registry=https://registry.npm.taobao.org

         cnpm install -g grunt-cli

         cnpm install -g grunt

         cnpm install grunt-contrib-clean

         cnpm install grunt-contrib-concat

         cnpm install grunt-contrib-watch

         cnpm install grunt-contrib-connect

         cnpm install grunt-contrib-copy

         cnpm install grunt-contrib-jasmine

         vim /usr/local/elasticsearch-head/Gruntfile.js

后台啟動grunt server &

         cd /usr/local/elasticsearch-head

         nohup grunt server &    /   npm run start & 或者nohup  npm run start >/dev/null 2>&1 &

打開瀏覽器訪問10.1.34.215:9100,可以看到head頁面

7. 准備安裝包  自己對應版本

下載es

https://www.elastic.co/cn/downloads/past-releases#elasticsearch

 下載kibana

https://www.elastic.co/cn/downloads/past-releases#kibana

下載logstash

https://www.elastic.co/cn/downloads/past-releases#logstash

8.  elasticsearch安裝

      全部創建用戶elk 

      useradd elk

      全部安裝elasticsearch

      tar zxf elasticsearch-6.7.1.tar.gz

      chown -R elk:elk /usr/local/elasticsearch/elasticsearch-6.7.1  給elk用戶增加es權限

全部修改配置

      vim /usr/local/elasticsearch/config/elasticsearch.yml

        解決bootstrap.memory_lock: true報錯

        vim /etc/security/limits.conf

        baoshan soft memlock unlimited

        baoshan hard memlock unlimited

        vim /etc/sysctl.conf

        vm.swappiness=0

        reboot 重啟

        切換到elk用戶  

        切換到es安裝目錄

        ./bin/elastcsearch -d  后台啟動

        期間如果報error='Cannot allocate memory' (errno=12)# There is insufficient memory for the Java Runtime Environment to continue.

        或者elasticsearch啟動過程中被自動killed

        到es安裝目錄下

        cd config 

        vim jvm.options

9. 安裝kibana

        解壓安裝包

        config目錄下修改

        vim kibana.yml添加以下內容

        server.port: 5601               #監聽端口

        server.host: "0.0.0.0"              #監聽IP

        elasticsearch.hosts: ["http://10.1.34.215:9200","http://10.1.34.216:9200","http://10.1.34.217:9200"]       #     集群es地址

        logging.dest: /usr/local/kibana/logs/kibana.log                 #日志路徑

        kibana.index: ".kibana"                 #默認索引

然后增加日志輸出文件

       mkdir /usr/local/kibana/logs && touch /usr/local/kibana/logs/kibana.log

后台啟動 ./bin/kibana & 

訪問http://10.1.34.215:5601/

10. 安裝logstash

      解壓安裝包

      切換到config下修改logstash.yml

      path.data: /usr/local/logstash/logstash-6.3.2/data

      path.logs: /usr/local/logstash/logstash-6.3.2/logs

      logstash啟動時需要指定輸入與輸出的方式,此處要實現的效果是從Rabbitmq中獲取數據輸出至es中存儲,因此創建rabbitmq.conf文件:

     cd ogstash-6.3.2/

     touch rabbitmq.conf

    

指定配置文件並啟動:./bin/logstash -f rabbitmq.conf,訪問http://ip:9600出現一些關於logstash的配置信息即表示安裝成功

11.安裝RabbitMQ

           下載RabbitMQ的rpm:

            wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.14/rabbitmq-server-3.6.14-1.el7.noarch.rpm

            yum -y install rabbitmq-server-3.6.14-1.el7.noarch.rpm

            注:如果報:Requires: socat則更新源

            wget –no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo -O /etc/yum.repos.d/convirt.repo

            yum install socat

            啟動rabbitmq服務:  

            后台運行:service rabbitmq-server start

安裝插件 

            啟動web管理界面

            rabbitmq-plugins enable rabbitmq_management

            如果提示找不到,使用查看插件名稱

            rabbitmq-plugins list

            增加訪問用戶,默認用戶guest只能本地訪問。

            rabbitmqctl add_user admin admin

設置角色: 

             rabbitmqctl set_user_tags admin administrator

設置默認vhost("/")訪問權限

             rabbitmqctl set_permissions -p "/" admin "." "." ".*"

              瀏覽器訪問:http://IP:15672

              用戶名admin,密碼admin進行登錄

              最好登錄console的時候,刪除默認賬戶guest

              rabbitmqctl delete_user guest

 注意本機用的時候關閉防火牆

登錄進去rabbmq之后可以去看一下隊列  應該有上面rabbitmq.conf里設置的那一個隊列了

至此環境搭建完畢,可以與java后台進行關聯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM