ToB企服应用市场:ToB评测及商务社交产业平台

标题: ELK Elasticsearch 集群部署 [打印本页]

作者: 光之使者    时间: 2024-8-6 10:43
标题: ELK Elasticsearch 集群部署
ELK Elasticsearch 集群部署


数据流向:1、配景服务器产生的日志由filebeat收集通过logstasg进行尺度化处理,传输给es1、es2(两个是一个主备的关系,数据都是同等的),然后传输给可视化装备。
有了flebeat可以节流资源,可以通过filebeat和logstash实现长途数据收集。
filereat不能对数据进行尺度输出,不能输出为ES格式的数据,所以需要logstasg把filebeat数据做尺度化处理
  1. 192.168.11.150  ELK1  node1 (es1) 设置Java环境、部署 Elasticsearch、 Elasticsearch-head、node、 phantomjs
  2. 192.168.11.151  ELK2  node2 (es2) 设置Java环境、部署 Elasticsearch、 Elasticsearch-head、node、 phantomjs
  3. 192.168.11.152  ELK3  部署     kibana-6.7.2-x86_64.rpm  logstash-6.7.2.rpm
  4. 192.168.11.144  后台服务器     Apache、MySQL、Nginx、部署Logstash   
复制代码
E LK1 ELK2 部署

  1. 1.环境准备
  2. #设置Java环境
  3. java -version                                                                #如果没有安装,yum -y install java
  4. 2.部署 Elasticsearch 软件
  5. (1)安装elasticsearch—rpm包
  6. #上传elasticsearch-6.7.2.rpm到/opt目录下
  7. cd /opt
  8. rpm -ivh elasticsearch-6.7.2.rpm
  9. (2)修改elasticsearch主配置文件
  10. cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
  11. vim /etc/elasticsearch/elasticsearch.yml
  12. --17--取消注释,指定集群名字
  13. cluster.name: my-elk-cluster
  14. --23--取消注释,指定节点名字:Node1节点为node1,Node2节点为node2
  15. node.name: node1
  16. node.master: true                #是否master节点,false为否
  17. node.data: true                        #是否数据节点,false为否
  18. --34--取消注释,指定数据存放路径
  19. path.data: /var/lib/elasticsearch
  20. --38--取消注释,指定日志存放路径
  21. path.logs: /var/log/elasticsearch
  22. --43--注释,避免es使用swap交换分区,可以不注释
  23. # bootstrap.memory_lock: true
  24. --55--取消注释,设置监听地址,0.0.0.0代表所有地址
  25. network.host: 0.0.0.0
  26. --59--取消注释,ES 服务的默认监听端口为9200
  27. http.port: 9200                                        #指定es集群提供外部访问的接口
  28. transport.tcp.port: 9300                #指定es集群内部通信接口
  29. --68--取消注释,集群发现通过单播实现,指定要发现的节点
  30. discovery.zen.ping.unicast.hosts: ["192.168.11.150:9300", "192.168.11.151:9300"]
  31. 91 http.cors.enabled: true
  32. 92 http.cors.allow-origin: "*"
  33. grep -v "^#" /etc/elasticsearch/elasticsearch.yml
  34. (3)启动elasticsearch是否成功开启
  35. systemctl start elasticsearch.service
  36. systemctl enable elasticsearch.service
  37. netstat -antp | grep 9200
  38. (5)查看节点信息
  39. 浏览器访问  http://192.168.11.150:9200  、 http://192.168.11.151:9200 查看节点 Node1、Node2 的信息。
  40. 浏览器访问 http://192.168.11.150:9200/_cluster/health?pretty  、 http://192.168.11.150:9200/_cluster/health?pretty查看群集的健康情况,可以看到 status 值为 green(绿色), 表示节点健康运行。
  41. 浏览器访问 http://192.168.11.150:9200/_cluster/state?pretty  检查群集状态信息。
  42. 3.安装 Elasticsearch-head 插件
  43. (1)编译安装 node
  44. #上传软件包 node-v8.2.1.tar.gz 到/opt
  45. yum install gcc gcc-c++ make -y
  46. cd /opt
  47. tar zxvf node-v8.2.1.tar.gz
  48. cd node-v8.2.1/
  49. ./configure
  50. make -j 4 && make install
  51. (2)安装 phantomjs
  52. #上传软件包 phantomjs-2.1.1-linux-x86_64.tar.bz2 到
  53. cd /opt
  54. tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2
  55. cd /opt/phantomjs-2.1.1-linux-x86_64/bin
  56. cp phantomjs /usr/local/bin
  57. (3)安装 Elasticsearch-head 数据可视化工具
  58. #上传软件包 elasticsearch-head-master.zip 到/opt
  59. cd /opt
  60. unzip elasticsearch-head-master.zip
  61. cd elasticsearch-head-master/
  62. #速度慢,可以指定为淘宝镜像
  63. npm config set registry http://registry.npm.taobao.org/  
  64. npm install
  65. (4)修改 Elasticsearch 主配置文件
  66. vim /etc/elasticsearch/elasticsearch.yml
  67. --末尾添加以下内容--
  68. http.cors.enabled: true                                #开启跨域访问支持,默认为 false
  69. http.cors.allow-origin: "*"                        #指定跨域访问允许的域名地址为所有
  70. systemctl restart elasticsearch
  71. (5) 启动 elasticsearch-head 服务
  72. #必须在解压后的 elasticsearch-head 目录下启动服务,进程会读取该目录下的 gruntfile.js 文件,否则可能启动失败。
  73. cd /opt/elasticsearch-head-master
  74. npm run start &
  75. netstat -natp |grep 9100
复制代码
ELK3 日志收集装置部署

有了flebeat可以节流资源,可以通过filebeat和logstash实现长途数据收集。
filereat不能对数据进行尺度输出,不能输出为ES格式的数据,所以需要logstasg把filebeat数据做尺度化处理
  1. 1.更改主机名
  2. hostnamectl set-hostname ELK3
  3. bash
  4. 2.安装Apahce服务(httpd)
  5. yum -y install httpd
  6. systemctl start httpd
  7. 3.安装Java环境
  8. yum -y install java
  9. java -version
  10. 4.安装logstash
  11. #上传软件包 logstash-6.7.2.rpm 到/opt目录下
  12. cd /opt
  13. rpm -ivh logstash-6.7.2.rpm                          
  14. systemctl start logstash.service                     
  15. systemctl enable logstash.service
  16. ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
  17. logstash -e 'input { stdin{} } output { stdout{} }'
  18. logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }'
  19. logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.11.150:9200","192.168.11.151:9200"] } }'  --path.data /opt/test1
复制代码
ELK3 日志可视化部署

  1. [root@apache-elk3 opt]#cd /opt/
  2. [root@apache-elk3 opt]#rpm -ivh kibana-6.7.2-x86_64.rpm  
  3. [root@apache-elk3 conf.d]# vim /etc/kibana/kibana.yml
  4. 2 server.port: 5601
  5. 7 server.host: "0.0.0.0"
  6. 28 elasticsearch.hosts: ["http://192.168.11.150:9200","http://192.168.11.151:9200"]
  7. 指向ELK1  ELK2   
  8. 37 kibana.index: ".kibana"
  9. 96 logging.dest: /var/log/kibana.log
  10. 113 i18n.locale: "zh-CN"
  11. [root@apache-elk3 opt]#  systemctl restart kibana.service
  12. [root@apache-elk3 opt]#  systemctl enable  kibana.service
  13. [root@apache-elk3 opt]#  netstat -antp | grep 5601
  14. [root@apache-elk3 opt]# chmod 777 /var/log/messages
  15. 浏览器访问:192.168.11.152:5601
  16. #配置接收日志脚本
  17. cd /etc/logstash/conf.d
  18. vim xhg.conf
  19. input {
  20.    beats { port => "5046"}
  21. }
  22. output {
  23.          if "nginx" in [tags] {
  24.         elasticsearch {
  25.                hosts => ["192.168.11.150:9200","192.168.11.151:9200"]
  26.                index=> "%{[fields][service_name]}-%{+YYYY.MM.dd}"
  27.           }
  28.         }
  29.       if "httpd" in [tags] {
  30.                elasticsearch {
  31.                hosts => ["192.168.11.150:9200","192.168.11.151:9200"]
  32.                index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
  33.           }
  34. }
  35.        if "mysql" in [tags] {
  36.            elasticsearch {
  37.                hosts=>["192.168.11.150:9200","192.168.11.151:9200"]
  38.               index=> "%{[fields][service_name]}-%{+YYYY.MM.dd}"
  39.           }
  40.        }
  41. }
  42. logstash -f xhg.conf --path.data /opt/test9 &   #先执行
复制代码
主机配置1

主机有Apache、httpd、nginx服务,将三个服务产生的日志通过ELK3收集,过滤、分析、汇总、再以尺度格式输出到ELK1、ELK2,通过kiabana可视化进行查看
有了flebeat可以节流资源,可以通过filebeat和logstash实现长途数据收集。
filereat不能对数据进行尺度输出,不能输出为ES格式的数据,所以需要logstasg把filebeat数据做尺度化处理
  1. yum install -y httpd
  2. yum install -y nginx
  3. yum install -y mysqld   (可以编译安装)
  4. -------------------------------确定每个服务的日志保存的绝对路径-----------------------------------------
  5. find / -name  nginx
  6. find / -name  http   #查找日志路径
  7. mysql日志路径: general_log_file=/usr/local/mysql/data/mysql_general.log
  8. nginx 日志路径:     - /usr/local/nginx/logs/access.log
  9.                     - /usr/local/nginx/logs/error.log
  10. httpd日志路径: /var/log/httpd/access_log
  11.                /var/log/httpd/access_log
  12. #############注意: http服务和nginx服务所使用的端口都是80端口需要修改其中一个端口的使用##############
  13. ########修改nginx端口信息改成8888##########
  14. [root@myslq4 nginx]# vim /etc/nginx/nginx.conf
  15. 38     server {
  16. 39         listen       8888;
  17. 40         listen       [::]:8888;
  18. 41         server_name  _;
  19. 42         root         /usr/share/nginx/html;
  20. [root@myslq4 nginx]# netstat -antp | grep nginx
  21. tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      30416/nginx: master
  22. tcp6       0      0 :::8888                 :::*                    LISTEN      30416/nginx: master
复制代码
主机上配置日志收集

  1. 1.更改主机名
  2. hostnamectl set-hostname 后台服务器
  3. 2.安装Apahce服务(httpd)
  4. yum -y install httpd
  5. systemctl start httpd
  6. 3.安装Java环境
  7. yum -y install java
  8. java -version
  9. 4.安装logstash
  10. #上传软件包 logstash-6.7.2.rpm 到/opt目录下
  11. cd /opt
  12. rpm -ivh logstash-6.7.2.rpm                          
  13. systemctl start logstash.service                     
  14. systemctl enable logstash.service
  15. ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
  16. #可以指定logstash的工作目录,默认为:/etc/logstash/conf.d
  17. path.config: /opt/log
  18. cd /opt
  19. tar -xf filebeat-6.7.2-linux-x86_64.tar.gz
  20. mv filebeat-6.7.2-linux-x86_64 /usr/local/filebeat
  21. cd /usr/local/filebeat/
  22. cp filebeat.yml filebeat.yml.bak
  23. [root@myslq4 filebeat]# pwd
  24. /usr/local/filebeat
  25. [root@myslq4 filebeat]# vim filebeat.yml
  26. - type: log
  27.   enabled: true
  28.   paths:
  29.     - /usr/local/nginx/logs/access.log
  30.     - /usr/local/nginx/logs/error.log
  31.   tags: ["nginx"]
  32.   fields:
  33.     service_name: 192.168.11.144_nginx
  34.     log_type: nginx
  35.     from: 192.168.11.144
  36. - type: log
  37.   enabled: true
  38.   paths:
  39.     - /var/log/httpd/access_log
  40.     - /var/log/httpd/access_log
  41.   tags: ["httpd"]
  42.   fields:
  43.     service_name: 192.168.11.144_httpd
  44.     log_type: httpd
  45.     from: 192.168.11.144
  46. - type: log
  47.   enabled: true
  48.   paths:
  49.     - /usr/local/mysql/data/mysql_general.log
  50.   tags: ["mysql"]
  51.   fields:
  52.     service_name: 192.168.11.144_mysql
  53.     log_type: mysql
  54.     from: 192.168.11.144
  55. 95 filebeat.config.modules:
  56. 96   # Glob pattern for configuration loading
  57. 97   path: ${path.config}/modules.d/*.yml
  58. 99   # Set to true to enable config reloading
  59. 100   reload.enabled: false
  60. 107   setup.template.settings:
  61. 108   index.number_of_shards: 3
  62. 188   output.logstash:
  63. 189   # The Logstash hosts
  64. 190   hosts: ["192.168.11.152:5046"]
  65. nohup ./filebeat -e -c filebeat.yml > filebeat.out &
  66. tail -f filebeat.out
复制代码
t to true to enable config reloading
100 reload.enabled: false
107 setup.template.settings:
108 index.number_of_shards: 3
188 output.logstash:
189 # The Logstash hosts
190 hosts: [“192.168.11.152:5046”]
nohup ./filebeat -e -c filebeat.yml > filebeat.out &
tail -f filebeat.out
[code][/code]
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4